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