@pulumi/spotinst 3.81.0-alpha.1718433686 → 3.81.0-alpha.1718865647

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/types/output.d.ts CHANGED
@@ -737,16 +737,39 @@ export declare namespace aws {
737
737
  value?: string;
738
738
  }
739
739
  interface ElastigroupNetworkInterface {
740
+ /**
741
+ * Indicates whether to assign IPV6 addresses to your instance. Requires a subnet with IPV6 CIDR block ranges.
742
+ *
743
+ * Usage:
744
+ */
740
745
  associateIpv6Address?: boolean;
746
+ /**
747
+ * Indicates whether to assign a public IP address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one.
748
+ */
741
749
  associatePublicIpAddress?: boolean;
750
+ /**
751
+ * If set to true, the interface is deleted when the instance is terminated.
752
+ */
742
753
  deleteOnTermination: boolean;
743
754
  /**
744
- * The group description.
755
+ * The description of the network interface.
745
756
  */
746
757
  description?: string;
758
+ /**
759
+ * The index of the device on the instance for the network interface attachment.
760
+ */
747
761
  deviceIndex: string;
762
+ /**
763
+ * The ID of the network interface.
764
+ */
748
765
  networkInterfaceId?: string;
766
+ /**
767
+ * The private IP address of the network interface.
768
+ */
749
769
  privateIpAddress?: string;
770
+ /**
771
+ * The number of secondary private IP addresses.
772
+ */
750
773
  secondaryPrivateIpAddressCount?: string;
751
774
  }
752
775
  interface ElastigroupResourceRequirement {
@@ -1176,13 +1199,35 @@ export declare namespace aws {
1176
1199
  timeout?: number;
1177
1200
  }
1178
1201
  interface ElastigroupStatefulDeallocation {
1202
+ /**
1203
+ * For stateful groups: remove persistent images.
1204
+ */
1179
1205
  shouldDeleteImages?: boolean;
1206
+ /**
1207
+ * For stateful groups: remove network interfaces.
1208
+ */
1180
1209
  shouldDeleteNetworkInterfaces?: boolean;
1210
+ /**
1211
+ * For stateful groups: remove snapshots.
1212
+ *
1213
+ * Usage:
1214
+ */
1181
1215
  shouldDeleteSnapshots?: boolean;
1216
+ /**
1217
+ * For stateful groups: remove persistent volumes.
1218
+ */
1182
1219
  shouldDeleteVolumes?: boolean;
1183
1220
  }
1184
1221
  interface ElastigroupStatefulInstanceAction {
1222
+ /**
1223
+ * String, Stateful Instance ID on which the action should be performed.
1224
+ */
1185
1225
  statefulInstanceId: string;
1226
+ /**
1227
+ * String, Action type. Supported action types: `pause`, `resume`, `recycle`, `deallocate`.
1228
+ *
1229
+ * Usage:
1230
+ */
1186
1231
  type: string;
1187
1232
  }
1188
1233
  interface ElastigroupTag {
@@ -1190,36 +1235,84 @@ export declare namespace aws {
1190
1235
  value?: string;
1191
1236
  }
1192
1237
  interface ElastigroupUpdatePolicy {
1238
+ /**
1239
+ * Enables updates to tags without rolling the group when set to `true`.
1240
+ */
1193
1241
  autoApplyTags?: boolean;
1242
+ /**
1243
+ * While used, you can control whether the group should perform a deployment after an update to the configuration.
1244
+ */
1194
1245
  rollConfig?: outputs.aws.ElastigroupUpdatePolicyRollConfig;
1246
+ /**
1247
+ * This will apply resuming action for Stateful instances in the Elastigroup upon scale up or capacity changes. Example usage will be for Elastigroups that will have scheduling rules to set a target capacity of 0 instances in the night and automatically restore the same state of the instances in the morning.
1248
+ */
1195
1249
  shouldResumeStateful: boolean;
1250
+ /**
1251
+ * Sets the enablement of the roll option.
1252
+ */
1196
1253
  shouldRoll: boolean;
1197
1254
  }
1198
1255
  interface ElastigroupUpdatePolicyRollConfig {
1256
+ /**
1257
+ * Sets the percentage of the instances to deploy in each batch.
1258
+ */
1199
1259
  batchSizePercentage: number;
1260
+ /**
1261
+ * Sets the grace period for new instances to become healthy.
1262
+ */
1200
1263
  gracePeriod?: number;
1201
1264
  /**
1202
- * The service that will perform health checks for the instance. Valid values: `"ELB"`, `"HCS"`, `"TARGET_GROUP"`, `"EC2"`, `"K8S_NODE"`, `"NOMAD_NODE"`, `"ECS_CLUSTER_INSTANCE"`.
1265
+ * Sets the health check type to use. Valid values: `"EC2"`, `"ECS_CLUSTER_INSTANCE"`, `"ELB"`, `"HCS"`, `"TARGET_GROUP"`, `"NONE"`.
1203
1266
  */
1204
1267
  healthCheckType?: string;
1268
+ /**
1269
+ * Strategy parameters
1270
+ */
1205
1271
  strategy?: outputs.aws.ElastigroupUpdatePolicyRollConfigStrategy;
1272
+ /**
1273
+ * For use with `shouldRoll`. Sets minimum % of roll required to complete before continuing the plan. Required if `waitForRollTimeout` is set.
1274
+ */
1206
1275
  waitForRollPercentage?: number;
1276
+ /**
1277
+ * For use with `shouldRoll`. Sets how long to wait for the deployed % of a roll to exceed `waitForRollPercentage` before continuing the plan. Required if `waitForRollPercentage` is set.
1278
+ */
1207
1279
  waitForRollTimeout?: number;
1208
1280
  }
1209
1281
  interface ElastigroupUpdatePolicyRollConfigStrategy {
1282
+ /**
1283
+ * Action to take. Valid values: `REPLACE_SERVER`, `RESTART_SERVER`.
1284
+ */
1210
1285
  action: string;
1286
+ /**
1287
+ * Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the deployment will fail. Range `1` - `100`.
1288
+ */
1211
1289
  batchMinHealthyPercentage?: number;
1290
+ /**
1291
+ * Set detach options to the deployment.
1292
+ */
1212
1293
  onFailure?: outputs.aws.ElastigroupUpdatePolicyRollConfigStrategyOnFailure;
1294
+ /**
1295
+ * Specify whether to drain incoming TCP connections before terminating a server.
1296
+ */
1213
1297
  shouldDrainInstances?: boolean;
1214
1298
  }
1215
1299
  interface ElastigroupUpdatePolicyRollConfigStrategyOnFailure {
1300
+ /**
1301
+ * Sets the action that will take place, Accepted values are: `DETACH_OLD`, `DETACH_NEW`.
1302
+ */
1216
1303
  actionType: string;
1217
1304
  batchNum?: number;
1218
1305
  /**
1219
- * The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
1306
+ * Indicates (in seconds) the timeout to wait until instance are detached.
1220
1307
  */
1221
1308
  drainingTimeout?: number;
1309
+ /**
1310
+ * Decrementing the group target capacity after detaching the instances.
1311
+ */
1222
1312
  shouldDecrementTargetCapacity?: boolean;
1313
+ /**
1314
+ * Indicator if the action should apply to all batches of the deployment or only the latest batch.
1315
+ */
1223
1316
  shouldHandleAllBatches?: boolean;
1224
1317
  }
1225
1318
  interface ManagedInstanceBlockDeviceMapping {
@@ -1476,37 +1569,94 @@ export declare namespace aws {
1476
1569
  unit?: string;
1477
1570
  }
1478
1571
  interface OceanAttachLoadBalancer {
1572
+ /**
1573
+ * If type is "TARGET_GROUP" then an ARN is required. Otherwise is not allowed.
1574
+ */
1479
1575
  arn?: string;
1480
1576
  /**
1481
- * The cluster name.
1577
+ * If type is "CLASSIC" then a name is required. Otherwise is not allowed.
1482
1578
  */
1483
1579
  name?: string;
1580
+ /**
1581
+ * Type of load balancer to use.
1582
+ */
1484
1583
  type: string;
1485
1584
  }
1486
1585
  interface OceanAutoscaler {
1586
+ /**
1587
+ * Set the auto headroom percentage (a number in the range [0, 200]) which controls the percentage of headroom from the cluster. Relevant only when `autoscaleIsAutoConfig` toggled on.
1588
+ */
1487
1589
  autoHeadroomPercentage?: number;
1590
+ /**
1591
+ * Cooldown period between scaling actions.
1592
+ */
1488
1593
  autoscaleCooldown?: number;
1594
+ /**
1595
+ * Auto Scaling scale down operations.
1596
+ */
1489
1597
  autoscaleDown?: outputs.aws.OceanAutoscalerAutoscaleDown;
1598
+ /**
1599
+ * Spare resource capacity management enabling fast assignment of Pods without waiting for new resources to launch.
1600
+ */
1490
1601
  autoscaleHeadroom?: outputs.aws.OceanAutoscalerAutoscaleHeadroom;
1602
+ /**
1603
+ * Automatically configure and optimize headroom resources.
1604
+ */
1491
1605
  autoscaleIsAutoConfig?: boolean;
1606
+ /**
1607
+ * Enable the Ocean Kubernetes Auto Scaler.
1608
+ */
1492
1609
  autoscaleIsEnabled?: boolean;
1610
+ /**
1611
+ * enables automatic and manual headroom to work in parallel. When set to false, automatic headroom overrides all other headroom definitions manually configured, whether they are at cluster or VNG level.
1612
+ */
1493
1613
  enableAutomaticAndManualHeadroom?: boolean;
1614
+ /**
1615
+ * List of Ocean extended resource definitions to use in this cluster.
1616
+ */
1494
1617
  extendedResourceDefinitions?: string[];
1618
+ /**
1619
+ * Optionally set upper and lower bounds on the resource usage of the cluster.
1620
+ */
1495
1621
  resourceLimits?: outputs.aws.OceanAutoscalerResourceLimits;
1496
1622
  }
1497
1623
  interface OceanAutoscalerAutoscaleDown {
1498
1624
  evaluationPeriods?: number;
1625
+ /**
1626
+ * When set to 'true', the Aggressive Scale Down feature is enabled.
1627
+ */
1499
1628
  isAggressiveScaleDownEnabled?: boolean;
1629
+ /**
1630
+ * Would represent the maximum % to scale-down. Number between 1-100.
1631
+ */
1500
1632
  maxScaleDownPercentage?: number;
1501
1633
  }
1502
1634
  interface OceanAutoscalerAutoscaleHeadroom {
1635
+ /**
1636
+ * Optionally configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
1637
+ */
1503
1638
  cpuPerUnit?: number;
1639
+ /**
1640
+ * Optionally configure the number of GPUs to allocate the headroom.
1641
+ */
1504
1642
  gpuPerUnit?: number;
1643
+ /**
1644
+ * Optionally configure the amount of memory (MB) to allocate the headroom.
1645
+ */
1505
1646
  memoryPerUnit?: number;
1647
+ /**
1648
+ * The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
1649
+ */
1506
1650
  numOfUnits?: number;
1507
1651
  }
1508
1652
  interface OceanAutoscalerResourceLimits {
1653
+ /**
1654
+ * The maximum memory in GiB units that can be allocated to the cluster.
1655
+ */
1509
1656
  maxMemoryGib?: number;
1657
+ /**
1658
+ * The maximum cpu in vCPU units that can be allocated to the cluster.
1659
+ */
1510
1660
  maxVcpu?: number;
1511
1661
  }
1512
1662
  interface OceanBlockDeviceMapping {
@@ -1593,11 +1743,17 @@ export declare namespace aws {
1593
1743
  availabilityVsCost?: string;
1594
1744
  }
1595
1745
  interface OceanDetachLoadBalancer {
1746
+ /**
1747
+ * If type is "TARGET_GROUP" then an ARN is required. Otherwise is not allowed.
1748
+ */
1596
1749
  arn?: string;
1597
1750
  /**
1598
- * The cluster name.
1751
+ * If type is "CLASSIC" then a name is required. Otherwise is not allowed.
1599
1752
  */
1600
1753
  name?: string;
1754
+ /**
1755
+ * Type of load balancer to use.
1756
+ */
1601
1757
  type: string;
1602
1758
  }
1603
1759
  interface OceanFilters {
@@ -1760,9 +1916,6 @@ export declare namespace aws {
1760
1916
  interface OceanLaunchSpecEphemeralStorage {
1761
1917
  /**
1762
1918
  * Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.
1763
- *
1764
- *
1765
- * <a id="update-policy"></a>
1766
1919
  */
1767
1920
  ephemeralStorageDeviceName?: string;
1768
1921
  }
@@ -1947,10 +2100,19 @@ export declare namespace aws {
1947
2100
  value: string;
1948
2101
  }
1949
2102
  interface OceanLaunchSpecUpdatePolicy {
2103
+ /**
2104
+ * Holds the roll configuration.
2105
+ */
1950
2106
  rollConfig?: outputs.aws.OceanLaunchSpecUpdatePolicyRollConfig;
2107
+ /**
2108
+ * Enables the roll.
2109
+ */
1951
2110
  shouldRoll: boolean;
1952
2111
  }
1953
2112
  interface OceanLaunchSpecUpdatePolicyRollConfig {
2113
+ /**
2114
+ * Sets the percentage of the instances to deploy in each batch.
2115
+ */
1954
2116
  batchSizePercentage: number;
1955
2117
  }
1956
2118
  interface OceanLoadBalancer {
@@ -1992,39 +2154,105 @@ export declare namespace aws {
1992
2154
  shouldTagVolumes?: boolean;
1993
2155
  }
1994
2156
  interface OceanScheduledTask {
2157
+ /**
2158
+ * Set shutdown hours for cluster object.
2159
+ */
1995
2160
  shutdownHours?: outputs.aws.OceanScheduledTaskShutdownHours;
2161
+ /**
2162
+ * The scheduling tasks for the cluster.
2163
+ */
1996
2164
  tasks?: outputs.aws.OceanScheduledTaskTask[];
1997
2165
  }
1998
2166
  interface OceanScheduledTaskShutdownHours {
2167
+ /**
2168
+ * Toggle the shutdown hours task. (Example: `true`).
2169
+ */
1999
2170
  isEnabled?: boolean;
2171
+ /**
2172
+ * Set time windows for shutdown hours. Specify a list of `timeWindows` with at least one time window Each string is in the format of: `ddd:hh:mm-ddd:hh:mm` where `ddd` = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat, `hh` = hour 24 = 0 -23, `mm` = minute = 0 - 59. Time windows should not overlap. Required if `cluster.scheduling.isEnabled` is `true`. (Example: `Fri:15:30-Wed:14:30`).
2173
+ */
2000
2174
  timeWindows: string[];
2001
2175
  }
2002
2176
  interface OceanScheduledTaskTask {
2177
+ /**
2178
+ * A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. (Example: `0 1 * * *`).
2179
+ */
2003
2180
  cronExpression: string;
2181
+ /**
2182
+ * Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object.
2183
+ */
2004
2184
  isEnabled: boolean;
2185
+ /**
2186
+ * This filed will be compatible to the `taskType` field. If `taskType` is defined as `clusterRoll`, user cluster roll object in parameters.
2187
+ */
2005
2188
  parameters?: outputs.aws.OceanScheduledTaskTaskParameters;
2189
+ /**
2190
+ * Valid values: `clusterRoll` `amiAutoUpdate`. Required for `cluster.scheduling.tasks`
2191
+ */
2006
2192
  taskType: string;
2007
2193
  }
2008
2194
  interface OceanScheduledTaskTaskParameters {
2195
+ /**
2196
+ * Set amiAutoUpdate object
2197
+ */
2009
2198
  amiAutoUpdate?: outputs.aws.OceanScheduledTaskTaskParametersAmiAutoUpdate;
2199
+ /**
2200
+ * Set clusterRoll object
2201
+ */
2010
2202
  parametersClusterRoll?: outputs.aws.OceanScheduledTaskTaskParametersParametersClusterRoll;
2011
2203
  }
2012
2204
  interface OceanScheduledTaskTaskParametersAmiAutoUpdate {
2205
+ /**
2206
+ * Set clusterRoll object
2207
+ */
2013
2208
  amiAutoUpdateClusterRoll?: outputs.aws.OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll;
2209
+ /**
2210
+ * When the AMI is updated according to the configuration set, a cluster roll can be triggered
2211
+ */
2014
2212
  applyRoll?: boolean;
2213
+ /**
2214
+ * When set to 'true', the auto-update process will update the VNGs’ AMI with the AMI to match the Kubernetes control plane version. either "patch" or "minorVersion" must be true.
2215
+ */
2015
2216
  minorVersion?: boolean;
2217
+ /**
2218
+ * When set to 'true', the auto-update process will update the VNGs’ images with the latest security patches. either "patch" or "minorVersion" must be true.
2219
+ */
2016
2220
  patch?: boolean;
2017
2221
  }
2018
2222
  interface OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRoll {
2223
+ /**
2224
+ * Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
2225
+ */
2019
2226
  batchMinHealthyPercentage?: number;
2227
+ /**
2228
+ * Value as a percent to set the size of a batch in a roll. Valid values are 0-100.
2229
+ */
2020
2230
  batchSizePercentage?: number;
2231
+ /**
2232
+ * Add a `comment` description for the roll. The `comment` is limited to 256 chars
2233
+ */
2021
2234
  comment?: string;
2235
+ /**
2236
+ * During the roll, if the parameter is set to true we honor PDB during the instance replacement.
2237
+ */
2022
2238
  respectPdb?: boolean;
2023
2239
  }
2024
2240
  interface OceanScheduledTaskTaskParametersParametersClusterRoll {
2241
+ /**
2242
+ * Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
2243
+ */
2025
2244
  batchMinHealthyPercentage?: number;
2245
+ /**
2246
+ * Value as a percent to set the size of a batch in a roll. Valid values are 0-100.
2247
+ */
2026
2248
  batchSizePercentage?: number;
2249
+ /**
2250
+ * Add a `comment` description for the roll. The `comment` is limited to 256 chars
2251
+ */
2027
2252
  comment?: string;
2253
+ /**
2254
+ * During the roll, if the parameter is set to true we honor PDB during the instance replacement.
2255
+ */
2028
2256
  respectPdb?: boolean;
2029
2257
  }
2030
2258
  interface OceanTag {
@@ -2038,16 +2266,43 @@ export declare namespace aws {
2038
2266
  value: string;
2039
2267
  }
2040
2268
  interface OceanUpdatePolicy {
2269
+ /**
2270
+ * will update instance tags on the fly without rolling the cluster.
2271
+ */
2041
2272
  autoApplyTags?: boolean;
2273
+ /**
2274
+ * Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).
2275
+ */
2042
2276
  conditionedRoll?: boolean;
2277
+ /**
2278
+ * A custom list of attributes will trigger the cluster roll operation (overrides the predefined list of parameters). Valid only when the `conditionedRoll` parameter is set to true. (Valid values: `"subnetIds"`,`"whitelist"`,`"blacklist"`,`"userData"`,`"imageId"`,`"securityGroups"`,`"keyName"`,`"iamInstanceProfile"`,`"associatePublicIpAddress"`,`"loadBalancers"`,`"instanceMetadataOptions"`,`"ebsOptimized"`,`"rootVolumeSize"`)
2279
+ */
2043
2280
  conditionedRollParams?: string[];
2281
+ /**
2282
+ * While used, you can control whether the group should perform a deployment after an update to the configuration.
2283
+ */
2044
2284
  rollConfig?: outputs.aws.OceanUpdatePolicyRollConfig;
2285
+ /**
2286
+ * Enables the roll.
2287
+ */
2045
2288
  shouldRoll: boolean;
2046
2289
  }
2047
2290
  interface OceanUpdatePolicyRollConfig {
2291
+ /**
2292
+ * Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
2293
+ */
2048
2294
  batchMinHealthyPercentage?: number;
2295
+ /**
2296
+ * Sets the percentage of the instances to deploy in each batch.
2297
+ */
2049
2298
  batchSizePercentage: number;
2299
+ /**
2300
+ * List of virtual node group identifiers to be rolled.
2301
+ */
2050
2302
  launchSpecIds?: string[];
2303
+ /**
2304
+ * During the roll, if the parameter is set to True we honor PDB during the instance replacement.
2305
+ */
2051
2306
  respectPdb?: boolean;
2052
2307
  }
2053
2308
  interface SuspensionSuspension {
@@ -2311,8 +2566,6 @@ export declare namespace azure {
2311
2566
  excludeSeries?: string[];
2312
2567
  /**
2313
2568
  * The filtered gpu types will belong to one of the gpu types from this list.
2314
- *
2315
- * <a id="update-policy"></a>
2316
2569
  */
2317
2570
  gpuTypes?: string[];
2318
2571
  /**
@@ -2432,18 +2685,51 @@ export declare namespace azure {
2432
2685
  value: string;
2433
2686
  }
2434
2687
  interface OceanNpUpdatePolicy {
2688
+ /**
2689
+ * Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
2690
+ */
2435
2691
  conditionedRoll?: boolean;
2692
+ /**
2693
+ * While used, you can control whether the group should perform a deployment after an update to the configuration.
2694
+ */
2436
2695
  rollConfig?: outputs.azure.OceanNpUpdatePolicyRollConfig;
2696
+ /**
2697
+ * If set to true along with the cluster update, roll will be triggered.
2698
+ */
2437
2699
  shouldRoll: boolean;
2438
2700
  }
2439
2701
  interface OceanNpUpdatePolicyRollConfig {
2702
+ /**
2703
+ * Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
2704
+ */
2440
2705
  batchMinHealthyPercentage?: number;
2706
+ /**
2707
+ * Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
2708
+ */
2441
2709
  batchSizePercentage?: number;
2710
+ /**
2711
+ * Add a comment description for the roll. The comment is limited to 256 chars and optional.
2712
+ */
2442
2713
  comment?: string;
2714
+ /**
2715
+ * List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
2716
+ */
2443
2717
  nodeNames?: string[];
2718
+ /**
2719
+ * List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
2720
+ */
2444
2721
  nodePoolNames?: string[];
2722
+ /**
2723
+ * During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
2724
+ */
2445
2725
  respectPdb?: boolean;
2726
+ /**
2727
+ * During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
2728
+ */
2446
2729
  respectRestrictScaleDown?: boolean;
2730
+ /**
2731
+ * List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
2732
+ */
2447
2733
  vngIds?: string[];
2448
2734
  }
2449
2735
  interface OceanNpVirtualNodeGroupFilters {
@@ -2465,7 +2751,6 @@ export declare namespace azure {
2465
2751
  excludeSeries?: string[];
2466
2752
  /**
2467
2753
  * The filtered gpu types will belong to one of the gpu types from this list.
2468
- * <a id="update-policy"></a>
2469
2754
  */
2470
2755
  gpuTypes?: string[];
2471
2756
  /**
@@ -2554,18 +2839,51 @@ export declare namespace azure {
2554
2839
  value: string;
2555
2840
  }
2556
2841
  interface OceanNpVirtualNodeGroupUpdatePolicy {
2842
+ /**
2843
+ * Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
2844
+ */
2557
2845
  conditionedRoll?: boolean;
2846
+ /**
2847
+ * While used, you can control whether the group should perform a deployment after an update to the configuration.
2848
+ */
2558
2849
  rollConfig?: outputs.azure.OceanNpVirtualNodeGroupUpdatePolicyRollConfig;
2850
+ /**
2851
+ * If set to true along with the vng update, roll will be triggered.
2852
+ */
2559
2853
  shouldRoll: boolean;
2560
2854
  }
2561
2855
  interface OceanNpVirtualNodeGroupUpdatePolicyRollConfig {
2856
+ /**
2857
+ * Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
2858
+ */
2562
2859
  batchMinHealthyPercentage?: number;
2860
+ /**
2861
+ * Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
2862
+ */
2563
2863
  batchSizePercentage?: number;
2864
+ /**
2865
+ * Add a comment description for the roll. The comment is limited to 256 chars and optional.
2866
+ */
2564
2867
  comment?: string;
2868
+ /**
2869
+ * List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
2870
+ */
2565
2871
  nodeNames?: string[];
2872
+ /**
2873
+ * List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
2874
+ */
2566
2875
  nodePoolNames?: string[];
2876
+ /**
2877
+ * During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
2878
+ */
2567
2879
  respectPdb?: boolean;
2880
+ /**
2881
+ * During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
2882
+ */
2568
2883
  respectRestrictScaleDown?: boolean;
2884
+ /**
2885
+ * List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
2886
+ */
2569
2887
  vngIds?: string[];
2570
2888
  }
2571
2889
  interface OceanOsDisk {
@@ -2697,48 +3015,138 @@ export declare namespace azure {
2697
3015
  }
2698
3016
  export declare namespace ecs {
2699
3017
  interface OceanAutoscaler {
3018
+ /**
3019
+ * The auto-headroom percentage. Set a number between 0-200 to control the headroom % of the cluster. Relevant when `isAutoConfig`= true.
3020
+ */
2700
3021
  autoHeadroomPercentage?: number;
3022
+ /**
3023
+ * Cooldown period between scaling actions.
3024
+ */
2701
3025
  cooldown?: number;
3026
+ /**
3027
+ * Auto Scaling scale down operations.
3028
+ */
2702
3029
  down?: outputs.ecs.OceanAutoscalerDown;
3030
+ /**
3031
+ * When set to true, both automatic and per custom launch specification manual headroom to be saved concurrently and independently in the cluster. prerequisite: isAutoConfig must be true
3032
+ */
2703
3033
  enableAutomaticAndManualHeadroom?: boolean;
3034
+ /**
3035
+ * Spare resource capacity management enabling fast assignment of tasks without waiting for new resources to launch.
3036
+ */
2704
3037
  headroom?: outputs.ecs.OceanAutoscalerHeadroom;
3038
+ /**
3039
+ * Automatically configure and optimize headroom resources.
3040
+ */
2705
3041
  isAutoConfig?: boolean;
3042
+ /**
3043
+ * Enable the Ocean ECS autoscaler.
3044
+ */
2706
3045
  isEnabled?: boolean;
3046
+ /**
3047
+ * Optionally set upper and lower bounds on the resource usage of the cluster.
3048
+ */
2707
3049
  resourceLimits?: outputs.ecs.OceanAutoscalerResourceLimits;
3050
+ /**
3051
+ * Option to scale down non-service tasks. If not set, Ocean does not scale down standalone tasks.
3052
+ */
2708
3053
  shouldScaleDownNonServiceTasks?: boolean;
2709
3054
  }
2710
3055
  interface OceanAutoscalerDown {
3056
+ /**
3057
+ * Would represent the maximum % to scale-down. Number between 1-100.
3058
+ */
2711
3059
  maxScaleDownPercentage?: number;
2712
3060
  }
2713
3061
  interface OceanAutoscalerHeadroom {
3062
+ /**
3063
+ * Optionally configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
3064
+ */
2714
3065
  cpuPerUnit?: number;
3066
+ /**
3067
+ * Optionally configure the amount of memory (MB) to allocate the headroom.
3068
+ */
2715
3069
  memoryPerUnit?: number;
3070
+ /**
3071
+ * The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
3072
+ */
2716
3073
  numOfUnits?: number;
2717
3074
  }
2718
3075
  interface OceanAutoscalerResourceLimits {
2719
- maxMemoryGib?: number;
3076
+ /**
3077
+ * The maximum memory in GiB units that can be allocated to the cluster.
3078
+ */
3079
+ maxMemoryGib?: number;
3080
+ /**
3081
+ * The maximum cpu in vCPU units that can be allocated to the cluster.
3082
+ */
2720
3083
  maxVcpu?: number;
2721
3084
  }
2722
3085
  interface OceanBlockDeviceMapping {
3086
+ /**
3087
+ * String. Set device name. Example: `/dev/xvda1`.
3088
+ */
2723
3089
  deviceName: string;
3090
+ /**
3091
+ * Object. Set Elastic Block Store properties.
3092
+ */
2724
3093
  ebs?: outputs.ecs.OceanBlockDeviceMappingEbs;
3094
+ /**
3095
+ * String. Suppresses the specified device included in the block device mapping of the AMI.
3096
+ */
2725
3097
  noDevice?: string;
2726
3098
  virtualName?: string;
2727
3099
  }
2728
3100
  interface OceanBlockDeviceMappingEbs {
3101
+ /**
3102
+ * Boolean. Toggles EBS deletion upon instance termination.
3103
+ */
2729
3104
  deleteOnTermination: boolean;
3105
+ /**
3106
+ * Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
3107
+ */
2730
3108
  dynamicVolumeSize?: outputs.ecs.OceanBlockDeviceMappingEbsDynamicVolumeSize;
3109
+ /**
3110
+ * Boolean. Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume.
3111
+ */
2731
3112
  encrypted: boolean;
3113
+ /**
3114
+ * Int. The number of I/O operations per second (IOPS) that the volume supports.
3115
+ */
2732
3116
  iops?: number;
3117
+ /**
3118
+ * String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
3119
+ */
2733
3120
  kmsKeyId?: string;
3121
+ /**
3122
+ * (Optional) String. The snapshot ID to mount by.
3123
+ */
2734
3124
  snapshotId?: string;
3125
+ /**
3126
+ * The amount of data transferred to or from a storage device per second, you can use this param just in a case that `volumeType` = gp3.
3127
+ */
2735
3128
  throughput?: number;
3129
+ /**
3130
+ * Int. The size (in GB) of the volume.
3131
+ */
2736
3132
  volumeSize?: number;
3133
+ /**
3134
+ * String. The type of the volume. Example: `gp2`.
3135
+ */
2737
3136
  volumeType: string;
2738
3137
  }
2739
3138
  interface OceanBlockDeviceMappingEbsDynamicVolumeSize {
3139
+ /**
3140
+ * Int. Initial size for volume. Example: `50`.
3141
+ */
2740
3142
  baseSize: number;
3143
+ /**
3144
+ * String. Resource type to increase volume size dynamically by. Valid values: `CPU`.
3145
+ */
2741
3146
  resource: string;
3147
+ /**
3148
+ * Int. Additional size (in GB) per resource unit. Example: When the `baseSize=50`, `sizePerResourceUnit=20`, and instance with two CPUs is launched, its total disk size will be: 90GB.
3149
+ */
2742
3150
  sizePerResourceUnit: number;
2743
3151
  }
2744
3152
  interface OceanClusterOrientation {
@@ -2803,25 +3211,67 @@ export declare namespace ecs {
2803
3211
  numOfUnits: number;
2804
3212
  }
2805
3213
  interface OceanLaunchSpecBlockDeviceMapping {
3214
+ /**
3215
+ * String. Set device name. (Example: "/dev/xvda1").
3216
+ */
2806
3217
  deviceName: string;
3218
+ /**
3219
+ * Object. Set Elastic Block Store properties .
3220
+ */
2807
3221
  ebs?: outputs.ecs.OceanLaunchSpecBlockDeviceMappingEbs;
2808
3222
  noDevice?: string;
2809
3223
  virtualName?: string;
2810
3224
  }
2811
3225
  interface OceanLaunchSpecBlockDeviceMappingEbs {
3226
+ /**
3227
+ * Boolean. Flag to delete the EBS on instance termination.
3228
+ */
2812
3229
  deleteOnTermination: boolean;
3230
+ /**
3231
+ * Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
3232
+ */
2813
3233
  dynamicVolumeSize?: outputs.ecs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize;
3234
+ /**
3235
+ * Boolean. Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume.
3236
+ */
2814
3237
  encrypted: boolean;
3238
+ /**
3239
+ * Int. The number of I/O operations per second (IOPS) that the volume supports.
3240
+ */
2815
3241
  iops?: number;
3242
+ /**
3243
+ * String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
3244
+ */
2816
3245
  kmsKeyId?: string;
3246
+ /**
3247
+ * (Optional) String. The Snapshot ID to mount by.
3248
+ */
2817
3249
  snapshotId?: string;
3250
+ /**
3251
+ * The amount of data transferred to or from a storage device per second, you can use this param just in a case that `volumeType` = gp3.
3252
+ */
2818
3253
  throughput?: number;
3254
+ /**
3255
+ * Int. The size, in GB of the volume.
3256
+ */
2819
3257
  volumeSize?: number;
3258
+ /**
3259
+ * String. The type of the volume (example: "gp2").
3260
+ */
2820
3261
  volumeType: string;
2821
3262
  }
2822
3263
  interface OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize {
3264
+ /**
3265
+ * Int. Initial size for volume. (Example: 50)
3266
+ */
2823
3267
  baseSize: number;
3268
+ /**
3269
+ * String. Resource type to increase volume size dynamically by. (valid values: "CPU")
3270
+ */
2824
3271
  resource: string;
3272
+ /**
3273
+ * Int. Additional size (in GB) per resource unit. (Example: baseSize= 50, sizePerResourceUnit=20, and instance with 2 CPU is launched - its total disk size will be: 90GB)
3274
+ */
2825
3275
  sizePerResourceUnit: number;
2826
3276
  }
2827
3277
  interface OceanLaunchSpecImage {
@@ -2875,8 +3325,6 @@ export declare namespace ecs {
2875
3325
  interface OceanLaunchSpecStrategy {
2876
3326
  /**
2877
3327
  * When set, Ocean will proactively try to maintain as close as possible to the percentage of Spot instances out of all the Virtual Node Group instances.
2878
- *
2879
- * <a id="block-devices"></a>
2880
3328
  */
2881
3329
  spotPercentage?: number;
2882
3330
  }
@@ -2903,21 +3351,51 @@ export declare namespace ecs {
2903
3351
  id: string;
2904
3352
  }
2905
3353
  interface OceanOptimizeImages {
3354
+ /**
3355
+ * String. Valid values: "always" "never" "timeWindow".
3356
+ */
2906
3357
  performAt: string;
3358
+ /**
3359
+ * Boolean. Enable auto image (AMI) update for the ECS container instances. The auto update applies for ECS-Optimized AMIs.
3360
+ */
2907
3361
  shouldOptimizeEcsAmi: boolean;
3362
+ /**
3363
+ * Array of strings. Set time windows for image update, at least one time window. Each string is in the format of ddd:hh:mm-ddd:hh:mm ddd. Time windows should not overlap.
3364
+ */
2908
3365
  timeWindows?: string[];
2909
3366
  }
2910
3367
  interface OceanScheduledTask {
3368
+ /**
3369
+ * Set shutdown hours for cluster object.
3370
+ */
2911
3371
  shutdownHours?: outputs.ecs.OceanScheduledTaskShutdownHours;
3372
+ /**
3373
+ * The scheduling tasks for the cluster.
3374
+ */
2912
3375
  tasks?: outputs.ecs.OceanScheduledTaskTask[];
2913
3376
  }
2914
3377
  interface OceanScheduledTaskShutdownHours {
3378
+ /**
3379
+ * Flag to enable / disable the shutdown hours.
3380
+ */
2915
3381
  isEnabled?: boolean;
3382
+ /**
3383
+ * Set time windows for shutdown hours. Specify a list of `timeWindows` with at least one time window Each string is in the format of `ddd:hh:mm-ddd:hh:mm` (ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59). Time windows should not overlap. Required when `cluster.scheduling.isEnabled` is true. API Times are in UTC. Example: `Fri:15:30-Wed:14:30`.
3384
+ */
2916
3385
  timeWindows: string[];
2917
3386
  }
2918
3387
  interface OceanScheduledTaskTask {
3388
+ /**
3389
+ * A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of `frequency` or `cronExpression` should be used at a time. Required for `cluster.scheduling.tasks` object. Example: `0 1 * * *`.
3390
+ */
2919
3391
  cronExpression: string;
3392
+ /**
3393
+ * Describes whether the task is enabled. When true the task should run when false it should not run. Required for `cluster.scheduling.tasks` object.
3394
+ */
2920
3395
  isEnabled: boolean;
3396
+ /**
3397
+ * Valid values: "clusterRoll". Required for `cluster.scheduling.tasks object`. Example: `clusterRoll`.
3398
+ */
2921
3399
  taskType: string;
2922
3400
  }
2923
3401
  interface OceanTag {
@@ -2932,47 +3410,122 @@ export declare namespace ecs {
2932
3410
  value: string;
2933
3411
  }
2934
3412
  interface OceanUpdatePolicy {
3413
+ /**
3414
+ * will update instance tags on the fly without rolling the cluster.
3415
+ */
2935
3416
  autoApplyTags?: boolean;
3417
+ /**
3418
+ * Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).
3419
+ */
2936
3420
  conditionedRoll?: boolean;
2937
3421
  rollConfig?: outputs.ecs.OceanUpdatePolicyRollConfig;
3422
+ /**
3423
+ * Enables the roll.
3424
+ */
2938
3425
  shouldRoll: boolean;
2939
3426
  }
2940
3427
  interface OceanUpdatePolicyRollConfig {
3428
+ /**
3429
+ * Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
3430
+ */
2941
3431
  batchMinHealthyPercentage?: number;
3432
+ /**
3433
+ * Sets the percentage of the instances to deploy in each batch.
3434
+ */
2942
3435
  batchSizePercentage: number;
2943
3436
  }
2944
3437
  }
2945
3438
  export declare namespace gcp {
2946
3439
  interface ElastigroupBackendService {
3440
+ /**
3441
+ * Sets which location the backend services will be active. Valid values: `regional`, `global`.
3442
+ */
2947
3443
  locationType?: string;
3444
+ /**
3445
+ * Describes a named port and a list of ports.
3446
+ */
2948
3447
  namedPorts?: outputs.gcp.ElastigroupBackendServiceNamedPort[];
3448
+ /**
3449
+ * Use when `locationType` is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values: `INTERNAL`, `EXTERNAL`.
3450
+ */
2949
3451
  scheme?: string;
3452
+ /**
3453
+ * The name of the backend service.
3454
+ */
2950
3455
  serviceName: string;
2951
3456
  }
2952
3457
  interface ElastigroupBackendServiceNamedPort {
2953
3458
  /**
2954
- * The group name.
3459
+ * The name of the port.
2955
3460
  */
2956
3461
  name: string;
3462
+ /**
3463
+ * A list of ports.
3464
+ *
3465
+ * Usage:
3466
+ */
2957
3467
  ports: string[];
2958
3468
  }
2959
3469
  interface ElastigroupDisk {
3470
+ /**
3471
+ * Specifies whether the disk will be auto-deleted when the instance is deleted.
3472
+ */
2960
3473
  autoDelete?: boolean;
3474
+ /**
3475
+ * Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
3476
+ */
2961
3477
  boot?: boolean;
3478
+ /**
3479
+ * Specifies a unique device name of your choice.
3480
+ */
2962
3481
  deviceName?: string;
3482
+ /**
3483
+ * Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
3484
+ */
2963
3485
  initializeParams?: outputs.gcp.ElastigroupDiskInitializeParam[];
3486
+ /**
3487
+ * Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
3488
+ */
2964
3489
  interface?: string;
3490
+ /**
3491
+ * The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
3492
+ */
2965
3493
  mode?: string;
3494
+ /**
3495
+ * Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
3496
+ */
2966
3497
  source?: string;
3498
+ /**
3499
+ * Specifies the type of disk, either SCRATCH or PERSISTENT.
3500
+ */
2967
3501
  type?: string;
2968
3502
  }
2969
3503
  interface ElastigroupDiskInitializeParam {
3504
+ /**
3505
+ * Specifies disk size in gigabytes. Must be in increments of 2.
3506
+ */
2970
3507
  diskSizeGb?: string;
3508
+ /**
3509
+ * Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
3510
+ */
2971
3511
  diskType?: string;
3512
+ /**
3513
+ * A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.
3514
+ *
3515
+ * Usage:
3516
+ */
2972
3517
  sourceImage: string;
2973
3518
  }
2974
3519
  interface ElastigroupGpu {
3520
+ /**
3521
+ * The number of GPUs. Must be 0, 2, 4, 6, 8.
3522
+ *
3523
+ * Usage:
3524
+ */
2975
3525
  count: number;
3526
+ /**
3527
+ * The type of GPU instance. Valid values: `nvidia-tesla-v100`, `nvidia-tesla-p100`, `nvidia-tesla-k80`.
3528
+ */
2976
3529
  type: string;
2977
3530
  }
2978
3531
  interface ElastigroupInstanceTypesCustom {
@@ -3069,26 +3622,64 @@ export declare namespace gcp {
3069
3622
  value?: string;
3070
3623
  }
3071
3624
  interface ElastigroupScalingUpPolicy {
3625
+ /**
3626
+ * Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
3627
+ */
3072
3628
  actionType?: string;
3629
+ /**
3630
+ * Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
3631
+ */
3073
3632
  adjustment?: number;
3633
+ /**
3634
+ * Time (seconds) to wait after a scaling action before resuming monitoring.
3635
+ */
3074
3636
  cooldown: number;
3637
+ /**
3638
+ * A list of dimensions describing qualities of the metric.
3639
+ */
3075
3640
  dimensions?: outputs.gcp.ElastigroupScalingUpPolicyDimension[];
3641
+ /**
3642
+ * Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
3643
+ */
3076
3644
  evaluationPeriods: number;
3645
+ /**
3646
+ * Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
3647
+ */
3077
3648
  metricName: string;
3078
3649
  namespace: string;
3650
+ /**
3651
+ * The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
3652
+ */
3079
3653
  operator: string;
3654
+ /**
3655
+ * Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
3656
+ */
3080
3657
  period: number;
3658
+ /**
3659
+ * Name of scaling policy.
3660
+ */
3081
3661
  policyName: string;
3082
3662
  source: string;
3663
+ /**
3664
+ * Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
3665
+ */
3083
3666
  statistic: string;
3667
+ /**
3668
+ * The value at which the scaling action is triggered.
3669
+ */
3084
3670
  threshold: number;
3085
3671
  unit: string;
3086
3672
  }
3087
3673
  interface ElastigroupScalingUpPolicyDimension {
3088
3674
  /**
3089
- * The group name.
3675
+ * The dimension name.
3090
3676
  */
3091
3677
  name: string;
3678
+ /**
3679
+ * The dimension value.
3680
+ *
3681
+ * Usage:
3682
+ */
3092
3683
  value?: string;
3093
3684
  }
3094
3685
  interface ElastigroupScheduledTask {
@@ -3253,27 +3844,75 @@ export declare namespace gke {
3253
3844
  value?: string;
3254
3845
  }
3255
3846
  interface OceanImportAutoscaler {
3847
+ /**
3848
+ * Optionally set the auto headroom percentage, set a number between 0-200 to control the headroom % from the cluster. Relevant when isAutoConfig=true.
3849
+ */
3256
3850
  autoHeadroomPercentage?: number;
3851
+ /**
3852
+ * Cooldown period between scaling actions.
3853
+ */
3257
3854
  cooldown?: number;
3855
+ /**
3856
+ * Auto Scaling scale down operations.
3857
+ */
3258
3858
  down?: outputs.gke.OceanImportAutoscalerDown;
3859
+ /**
3860
+ * enables automatic and manual headroom to work in parallel. When set to false, automatic headroom overrides all other headroom definitions manually configured, whether they are at cluster or VNG level.
3861
+ */
3259
3862
  enableAutomaticAndManualHeadroom?: boolean;
3863
+ /**
3864
+ * Spare resource capacity management enabling fast assignment of Pods without waiting for new resources to launch.
3865
+ */
3260
3866
  headroom?: outputs.gke.OceanImportAutoscalerHeadroom;
3867
+ /**
3868
+ * Automatically configure and optimize headroom resources.
3869
+ */
3261
3870
  isAutoConfig?: boolean;
3871
+ /**
3872
+ * Enable the Ocean Kubernetes Autoscaler.
3873
+ */
3262
3874
  isEnabled?: boolean;
3875
+ /**
3876
+ * Optionally set upper and lower bounds on the resource usage of the cluster.
3877
+ */
3263
3878
  resourceLimits?: outputs.gke.OceanImportAutoscalerResourceLimits;
3264
3879
  }
3265
3880
  interface OceanImportAutoscalerDown {
3881
+ /**
3882
+ * The number of evaluation periods that should accumulate before a scale down action takes place.
3883
+ */
3266
3884
  evaluationPeriods?: number;
3885
+ /**
3886
+ * Would represent the maximum % to scale-down. Number between 1-100.
3887
+ */
3267
3888
  maxScaleDownPercentage?: number;
3268
3889
  }
3269
3890
  interface OceanImportAutoscalerHeadroom {
3891
+ /**
3892
+ * Optionally configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
3893
+ */
3270
3894
  cpuPerUnit?: number;
3895
+ /**
3896
+ * How much GPU allocate for headroom unit.
3897
+ */
3271
3898
  gpuPerUnit?: number;
3899
+ /**
3900
+ * Optionally configure the amount of memory (MiB) to allocate the headroom.
3901
+ */
3272
3902
  memoryPerUnit?: number;
3903
+ /**
3904
+ * The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
3905
+ */
3273
3906
  numOfUnits?: number;
3274
3907
  }
3275
3908
  interface OceanImportAutoscalerResourceLimits {
3909
+ /**
3910
+ * The maximum memory in GiB units that can be allocated to the cluster.
3911
+ */
3276
3912
  maxMemoryGib?: number;
3913
+ /**
3914
+ * The maximum cpu in vCpu units that can be allocated to the cluster.
3915
+ */
3277
3916
  maxVcpu?: number;
3278
3917
  }
3279
3918
  interface OceanImportBackendService {
@@ -3296,26 +3935,68 @@ export declare namespace gke {
3296
3935
  ports: string[];
3297
3936
  }
3298
3937
  interface OceanImportScheduledTask {
3938
+ /**
3939
+ * Set shutdown hours for cluster object.
3940
+ */
3299
3941
  shutdownHours?: outputs.gke.OceanImportScheduledTaskShutdownHours;
3942
+ /**
3943
+ * The scheduling tasks for the cluster.
3944
+ */
3300
3945
  tasks?: outputs.gke.OceanImportScheduledTaskTask[];
3301
3946
  }
3302
3947
  interface OceanImportScheduledTaskShutdownHours {
3948
+ /**
3949
+ * Flag to enable / disable the shutdown hours.
3950
+ * Example: True
3951
+ */
3303
3952
  isEnabled?: boolean;
3953
+ /**
3954
+ * Set time windows for shutdown hours. specify a list of 'timeWindows' with at least one time window Each string is in the format of - ddd:hh:mm-ddd:hh:mm ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59. Time windows should not overlap. required on cluster.scheduling.isEnabled = True. API Times are in UTC
3955
+ * Example: Fri:15:30-Wed:14:30
3956
+ */
3304
3957
  timeWindows: string[];
3305
3958
  }
3306
3959
  interface OceanImportScheduledTaskTask {
3960
+ /**
3961
+ * A valid cron expression. For example : " * * * * * ".The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of ‘frequency’ or ‘cronExpression’ should be used at a time. Required for cluster.scheduling.tasks object
3962
+ * Example: 0 1 * * *
3963
+ */
3307
3964
  cronExpression: string;
3965
+ /**
3966
+ * Describes whether the task is enabled. When true the task should run when false it should not run. Required for cluster.scheduling.tasks object.
3967
+ */
3308
3968
  isEnabled: boolean;
3969
+ /**
3970
+ * The scheduling parameters for the cluster.
3971
+ */
3309
3972
  taskParameters?: outputs.gke.OceanImportScheduledTaskTaskTaskParameters;
3973
+ /**
3974
+ * Valid values: "clusterRoll". Required for cluster.scheduling.tasks object.
3975
+ */
3310
3976
  taskType: string;
3311
3977
  }
3312
3978
  interface OceanImportScheduledTaskTaskTaskParameters {
3979
+ /**
3980
+ * The cluster roll parameters for the cluster.
3981
+ */
3313
3982
  clusterRoll?: outputs.gke.OceanImportScheduledTaskTaskTaskParametersClusterRoll;
3314
3983
  }
3315
3984
  interface OceanImportScheduledTaskTaskTaskParametersClusterRoll {
3985
+ /**
3986
+ * Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
3987
+ */
3316
3988
  batchMinHealthyPercentage?: number;
3989
+ /**
3990
+ * Value as a percent to set the size of a batch in a roll. Valid values are 0-100.
3991
+ */
3317
3992
  batchSizePercentage?: number;
3993
+ /**
3994
+ * Add a comment description for the roll. The comment is limited to 256 chars.
3995
+ */
3318
3996
  comment?: string;
3997
+ /**
3998
+ * During the roll, if the parameter is set to true we honor PDB during the instance replacement.
3999
+ */
3319
4000
  respectPdb?: boolean;
3320
4001
  }
3321
4002
  interface OceanImportShieldedInstanceConfig {
@@ -3330,21 +4011,48 @@ export declare namespace gke {
3330
4011
  }
3331
4012
  interface OceanImportStrategy {
3332
4013
  /**
3333
- * The draining timeout (in seconds) before terminating the instance.
4014
+ * The draining timeout (in seconds) before terminating the instance. If no draining timeout is defined, the default draining timeout will be used.
3334
4015
  */
3335
4016
  drainingTimeout?: number;
4017
+ /**
4018
+ * Defines the desired preemptible percentage for the cluster.
4019
+ */
3336
4020
  preemptiblePercentage?: number;
4021
+ /**
4022
+ * Define the provisioning model of the launched instances. Valid values: `SPOT`, `PREEMPTIBLE`.
4023
+ */
3337
4024
  provisioningModel?: string;
3338
4025
  }
3339
4026
  interface OceanImportUpdatePolicy {
4027
+ /**
4028
+ * Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).
4029
+ */
3340
4030
  conditionedRoll?: boolean;
4031
+ /**
4032
+ * Holds the roll configuration.
4033
+ */
3341
4034
  rollConfig?: outputs.gke.OceanImportUpdatePolicyRollConfig;
4035
+ /**
4036
+ * Enables the roll.
4037
+ */
3342
4038
  shouldRoll: boolean;
3343
4039
  }
3344
4040
  interface OceanImportUpdatePolicyRollConfig {
4041
+ /**
4042
+ * Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
4043
+ */
3345
4044
  batchMinHealthyPercentage?: number;
4045
+ /**
4046
+ * Sets the percentage of the instances to deploy in each batch.
4047
+ */
3346
4048
  batchSizePercentage: number;
4049
+ /**
4050
+ * List of Virtual Node Group identifiers to be rolled.
4051
+ */
3347
4052
  launchSpecIds?: string[];
4053
+ /**
4054
+ * Default: False. During the roll, if the parameter is set to True we honor PDB during the instance replacement.
4055
+ */
3348
4056
  respectPdb?: boolean;
3349
4057
  }
3350
4058
  interface OceanLaunchSpecAutoscaleHeadroom {
@@ -3426,8 +4134,6 @@ export declare namespace gke {
3426
4134
  ipCidrRange: string;
3427
4135
  /**
3428
4136
  * specify the IP address range for the subnet secondary IP range.
3429
- *
3430
- * <a id="update-policy"></a>
3431
4137
  */
3432
4138
  subnetworkRangeName: string;
3433
4139
  }
@@ -3514,10 +4220,19 @@ export declare namespace gke {
3514
4220
  value: string;
3515
4221
  }
3516
4222
  interface OceanLaunchSpecUpdatePolicy {
4223
+ /**
4224
+ * Holds the roll configuration.
4225
+ */
3517
4226
  rollConfig?: outputs.gke.OceanLaunchSpecUpdatePolicyRollConfig;
4227
+ /**
4228
+ * Enables the roll.
4229
+ */
3518
4230
  shouldRoll: boolean;
3519
4231
  }
3520
4232
  interface OceanLaunchSpecUpdatePolicyRollConfig {
4233
+ /**
4234
+ * Sets the percentage of the instances to deploy in each batch.
4235
+ */
3521
4236
  batchSizePercentage: number;
3522
4237
  }
3523
4238
  }