pulumi-spotinst 3.126.0a1761894726__py3-none-any.whl → 3.128.0__py3-none-any.whl
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.
Potentially problematic release.
This version of pulumi-spotinst might be problematic. Click here for more details.
- pulumi_spotinst/_inputs.py +317 -0
- pulumi_spotinst/aws/_inputs.py +177 -0
- pulumi_spotinst/aws/beanstalk.py +76 -0
- pulumi_spotinst/aws/ocean_launch_spec.py +47 -0
- pulumi_spotinst/aws/outputs.py +128 -1
- pulumi_spotinst/ecs/ocean.py +208 -0
- pulumi_spotinst/gke/ocean_launch_spec.py +7 -7
- pulumi_spotinst/ocean_right_sizing_rule.py +280 -2
- pulumi_spotinst/outputs.py +217 -0
- pulumi_spotinst/pulumi-plugin.json +1 -1
- pulumi_spotinst/stateful_node_azure.py +22 -0
- {pulumi_spotinst-3.126.0a1761894726.dist-info → pulumi_spotinst-3.128.0.dist-info}/METADATA +1 -1
- {pulumi_spotinst-3.126.0a1761894726.dist-info → pulumi_spotinst-3.128.0.dist-info}/RECORD +15 -15
- {pulumi_spotinst-3.126.0a1761894726.dist-info → pulumi_spotinst-3.128.0.dist-info}/WHEEL +0 -0
- {pulumi_spotinst-3.126.0a1761894726.dist-info → pulumi_spotinst-3.128.0.dist-info}/top_level.txt +0 -0
pulumi_spotinst/aws/outputs.py
CHANGED
|
@@ -150,6 +150,7 @@ __all__ = [
|
|
|
150
150
|
'OceanLaunchSpecAutoscaleHeadroomsAutomatic',
|
|
151
151
|
'OceanLaunchSpecBlockDeviceMapping',
|
|
152
152
|
'OceanLaunchSpecBlockDeviceMappingEbs',
|
|
153
|
+
'OceanLaunchSpecBlockDeviceMappingEbsDynamicIops',
|
|
153
154
|
'OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize',
|
|
154
155
|
'OceanLaunchSpecCreateOptions',
|
|
155
156
|
'OceanLaunchSpecDeleteOptions',
|
|
@@ -161,6 +162,7 @@ __all__ = [
|
|
|
161
162
|
'OceanLaunchSpecInstanceStorePolicy',
|
|
162
163
|
'OceanLaunchSpecInstanceTypesFilters',
|
|
163
164
|
'OceanLaunchSpecLabel',
|
|
165
|
+
'OceanLaunchSpecLoadBalancer',
|
|
164
166
|
'OceanLaunchSpecResourceLimit',
|
|
165
167
|
'OceanLaunchSpecSchedulingShutdownHours',
|
|
166
168
|
'OceanLaunchSpecSchedulingTask',
|
|
@@ -9024,7 +9026,9 @@ class OceanLaunchSpecAutoscaleDown(dict):
|
|
|
9024
9026
|
@staticmethod
|
|
9025
9027
|
def __key_warning(key: str):
|
|
9026
9028
|
suggest = None
|
|
9027
|
-
if key == "
|
|
9029
|
+
if key == "isAggressiveScaleDownEnabled":
|
|
9030
|
+
suggest = "is_aggressive_scale_down_enabled"
|
|
9031
|
+
elif key == "maxScaleDownPercentage":
|
|
9028
9032
|
suggest = "max_scale_down_percentage"
|
|
9029
9033
|
|
|
9030
9034
|
if suggest:
|
|
@@ -9039,13 +9043,25 @@ class OceanLaunchSpecAutoscaleDown(dict):
|
|
|
9039
9043
|
return super().get(key, default)
|
|
9040
9044
|
|
|
9041
9045
|
def __init__(__self__, *,
|
|
9046
|
+
is_aggressive_scale_down_enabled: Optional[_builtins.bool] = None,
|
|
9042
9047
|
max_scale_down_percentage: Optional[_builtins.float] = None):
|
|
9043
9048
|
"""
|
|
9049
|
+
:param _builtins.bool is_aggressive_scale_down_enabled: When set to 'true', the Aggressive Scale Down feature is enabled.
|
|
9044
9050
|
:param _builtins.float max_scale_down_percentage: The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
|
|
9045
9051
|
"""
|
|
9052
|
+
if is_aggressive_scale_down_enabled is not None:
|
|
9053
|
+
pulumi.set(__self__, "is_aggressive_scale_down_enabled", is_aggressive_scale_down_enabled)
|
|
9046
9054
|
if max_scale_down_percentage is not None:
|
|
9047
9055
|
pulumi.set(__self__, "max_scale_down_percentage", max_scale_down_percentage)
|
|
9048
9056
|
|
|
9057
|
+
@_builtins.property
|
|
9058
|
+
@pulumi.getter(name="isAggressiveScaleDownEnabled")
|
|
9059
|
+
def is_aggressive_scale_down_enabled(self) -> Optional[_builtins.bool]:
|
|
9060
|
+
"""
|
|
9061
|
+
When set to 'true', the Aggressive Scale Down feature is enabled.
|
|
9062
|
+
"""
|
|
9063
|
+
return pulumi.get(self, "is_aggressive_scale_down_enabled")
|
|
9064
|
+
|
|
9049
9065
|
@_builtins.property
|
|
9050
9066
|
@pulumi.getter(name="maxScaleDownPercentage")
|
|
9051
9067
|
def max_scale_down_percentage(self) -> Optional[_builtins.float]:
|
|
@@ -9243,6 +9259,8 @@ class OceanLaunchSpecBlockDeviceMappingEbs(dict):
|
|
|
9243
9259
|
suggest = None
|
|
9244
9260
|
if key == "deleteOnTermination":
|
|
9245
9261
|
suggest = "delete_on_termination"
|
|
9262
|
+
elif key == "dynamicIops":
|
|
9263
|
+
suggest = "dynamic_iops"
|
|
9246
9264
|
elif key == "dynamicVolumeSize":
|
|
9247
9265
|
suggest = "dynamic_volume_size"
|
|
9248
9266
|
elif key == "kmsKeyId":
|
|
@@ -9267,6 +9285,7 @@ class OceanLaunchSpecBlockDeviceMappingEbs(dict):
|
|
|
9267
9285
|
|
|
9268
9286
|
def __init__(__self__, *,
|
|
9269
9287
|
delete_on_termination: Optional[_builtins.bool] = None,
|
|
9288
|
+
dynamic_iops: Optional['outputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicIops'] = None,
|
|
9270
9289
|
dynamic_volume_size: Optional['outputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize'] = None,
|
|
9271
9290
|
encrypted: Optional[_builtins.bool] = None,
|
|
9272
9291
|
iops: Optional[_builtins.int] = None,
|
|
@@ -9277,6 +9296,7 @@ class OceanLaunchSpecBlockDeviceMappingEbs(dict):
|
|
|
9277
9296
|
volume_type: Optional[_builtins.str] = None):
|
|
9278
9297
|
"""
|
|
9279
9298
|
:param _builtins.bool delete_on_termination: Boolean. Flag to delete the EBS on instance termination.
|
|
9299
|
+
:param 'OceanLaunchSpecBlockDeviceMappingEbsDynamicIopsArgs' dynamic_iops: Set dynamic IOPS properties. When using this object, you cannot use the `iops` attribute. You must use one or the other.
|
|
9280
9300
|
:param 'OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs' dynamic_volume_size: Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
|
|
9281
9301
|
:param _builtins.bool encrypted: Boolean. Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume.
|
|
9282
9302
|
:param _builtins.int iops: Int. The number of I/O operations per second (IOPS) that the volume supports.
|
|
@@ -9288,6 +9308,8 @@ class OceanLaunchSpecBlockDeviceMappingEbs(dict):
|
|
|
9288
9308
|
"""
|
|
9289
9309
|
if delete_on_termination is not None:
|
|
9290
9310
|
pulumi.set(__self__, "delete_on_termination", delete_on_termination)
|
|
9311
|
+
if dynamic_iops is not None:
|
|
9312
|
+
pulumi.set(__self__, "dynamic_iops", dynamic_iops)
|
|
9291
9313
|
if dynamic_volume_size is not None:
|
|
9292
9314
|
pulumi.set(__self__, "dynamic_volume_size", dynamic_volume_size)
|
|
9293
9315
|
if encrypted is not None:
|
|
@@ -9313,6 +9335,14 @@ class OceanLaunchSpecBlockDeviceMappingEbs(dict):
|
|
|
9313
9335
|
"""
|
|
9314
9336
|
return pulumi.get(self, "delete_on_termination")
|
|
9315
9337
|
|
|
9338
|
+
@_builtins.property
|
|
9339
|
+
@pulumi.getter(name="dynamicIops")
|
|
9340
|
+
def dynamic_iops(self) -> Optional['outputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicIops']:
|
|
9341
|
+
"""
|
|
9342
|
+
Set dynamic IOPS properties. When using this object, you cannot use the `iops` attribute. You must use one or the other.
|
|
9343
|
+
"""
|
|
9344
|
+
return pulumi.get(self, "dynamic_iops")
|
|
9345
|
+
|
|
9316
9346
|
@_builtins.property
|
|
9317
9347
|
@pulumi.getter(name="dynamicVolumeSize")
|
|
9318
9348
|
def dynamic_volume_size(self) -> Optional['outputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize']:
|
|
@@ -9378,6 +9408,61 @@ class OceanLaunchSpecBlockDeviceMappingEbs(dict):
|
|
|
9378
9408
|
return pulumi.get(self, "volume_type")
|
|
9379
9409
|
|
|
9380
9410
|
|
|
9411
|
+
@pulumi.output_type
|
|
9412
|
+
class OceanLaunchSpecBlockDeviceMappingEbsDynamicIops(dict):
|
|
9413
|
+
@staticmethod
|
|
9414
|
+
def __key_warning(key: str):
|
|
9415
|
+
suggest = None
|
|
9416
|
+
if key == "baseSize":
|
|
9417
|
+
suggest = "base_size"
|
|
9418
|
+
elif key == "sizePerResourceUnit":
|
|
9419
|
+
suggest = "size_per_resource_unit"
|
|
9420
|
+
|
|
9421
|
+
if suggest:
|
|
9422
|
+
pulumi.log.warn(f"Key '{key}' not found in OceanLaunchSpecBlockDeviceMappingEbsDynamicIops. Access the value via the '{suggest}' property getter instead.")
|
|
9423
|
+
|
|
9424
|
+
def __getitem__(self, key: str) -> Any:
|
|
9425
|
+
OceanLaunchSpecBlockDeviceMappingEbsDynamicIops.__key_warning(key)
|
|
9426
|
+
return super().__getitem__(key)
|
|
9427
|
+
|
|
9428
|
+
def get(self, key: str, default = None) -> Any:
|
|
9429
|
+
OceanLaunchSpecBlockDeviceMappingEbsDynamicIops.__key_warning(key)
|
|
9430
|
+
return super().get(key, default)
|
|
9431
|
+
|
|
9432
|
+
def __init__(__self__, *,
|
|
9433
|
+
base_size: _builtins.int,
|
|
9434
|
+
resource: _builtins.str,
|
|
9435
|
+
size_per_resource_unit: _builtins.int):
|
|
9436
|
+
"""
|
|
9437
|
+
:param _builtins.int base_size: Initial size for IOPS.
|
|
9438
|
+
:param _builtins.int size_per_resource_unit: Additional size per resource unit (in IOPS). (Example: `baseSize=50`, `sizePerResourceUnit=20`, and an instance with 2 CPU is launched; its IOPS size will be: 90).
|
|
9439
|
+
"""
|
|
9440
|
+
pulumi.set(__self__, "base_size", base_size)
|
|
9441
|
+
pulumi.set(__self__, "resource", resource)
|
|
9442
|
+
pulumi.set(__self__, "size_per_resource_unit", size_per_resource_unit)
|
|
9443
|
+
|
|
9444
|
+
@_builtins.property
|
|
9445
|
+
@pulumi.getter(name="baseSize")
|
|
9446
|
+
def base_size(self) -> _builtins.int:
|
|
9447
|
+
"""
|
|
9448
|
+
Initial size for IOPS.
|
|
9449
|
+
"""
|
|
9450
|
+
return pulumi.get(self, "base_size")
|
|
9451
|
+
|
|
9452
|
+
@_builtins.property
|
|
9453
|
+
@pulumi.getter
|
|
9454
|
+
def resource(self) -> _builtins.str:
|
|
9455
|
+
return pulumi.get(self, "resource")
|
|
9456
|
+
|
|
9457
|
+
@_builtins.property
|
|
9458
|
+
@pulumi.getter(name="sizePerResourceUnit")
|
|
9459
|
+
def size_per_resource_unit(self) -> _builtins.int:
|
|
9460
|
+
"""
|
|
9461
|
+
Additional size per resource unit (in IOPS). (Example: `baseSize=50`, `sizePerResourceUnit=20`, and an instance with 2 CPU is launched; its IOPS size will be: 90).
|
|
9462
|
+
"""
|
|
9463
|
+
return pulumi.get(self, "size_per_resource_unit")
|
|
9464
|
+
|
|
9465
|
+
|
|
9381
9466
|
@pulumi.output_type
|
|
9382
9467
|
class OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize(dict):
|
|
9383
9468
|
@staticmethod
|
|
@@ -10063,6 +10148,48 @@ class OceanLaunchSpecLabel(dict):
|
|
|
10063
10148
|
return pulumi.get(self, "value")
|
|
10064
10149
|
|
|
10065
10150
|
|
|
10151
|
+
@pulumi.output_type
|
|
10152
|
+
class OceanLaunchSpecLoadBalancer(dict):
|
|
10153
|
+
def __init__(__self__, *,
|
|
10154
|
+
type: _builtins.str,
|
|
10155
|
+
arn: Optional[_builtins.str] = None,
|
|
10156
|
+
name: Optional[_builtins.str] = None):
|
|
10157
|
+
"""
|
|
10158
|
+
:param _builtins.str type: Can be set to `CLASSIC` or `TARGET_GROUP`
|
|
10159
|
+
:param _builtins.str arn: Required if type is set to `TARGET_GROUP`
|
|
10160
|
+
:param _builtins.str name: Required if type is set to `CLASSIC`
|
|
10161
|
+
"""
|
|
10162
|
+
pulumi.set(__self__, "type", type)
|
|
10163
|
+
if arn is not None:
|
|
10164
|
+
pulumi.set(__self__, "arn", arn)
|
|
10165
|
+
if name is not None:
|
|
10166
|
+
pulumi.set(__self__, "name", name)
|
|
10167
|
+
|
|
10168
|
+
@_builtins.property
|
|
10169
|
+
@pulumi.getter
|
|
10170
|
+
def type(self) -> _builtins.str:
|
|
10171
|
+
"""
|
|
10172
|
+
Can be set to `CLASSIC` or `TARGET_GROUP`
|
|
10173
|
+
"""
|
|
10174
|
+
return pulumi.get(self, "type")
|
|
10175
|
+
|
|
10176
|
+
@_builtins.property
|
|
10177
|
+
@pulumi.getter
|
|
10178
|
+
def arn(self) -> Optional[_builtins.str]:
|
|
10179
|
+
"""
|
|
10180
|
+
Required if type is set to `TARGET_GROUP`
|
|
10181
|
+
"""
|
|
10182
|
+
return pulumi.get(self, "arn")
|
|
10183
|
+
|
|
10184
|
+
@_builtins.property
|
|
10185
|
+
@pulumi.getter
|
|
10186
|
+
def name(self) -> Optional[_builtins.str]:
|
|
10187
|
+
"""
|
|
10188
|
+
Required if type is set to `CLASSIC`
|
|
10189
|
+
"""
|
|
10190
|
+
return pulumi.get(self, "name")
|
|
10191
|
+
|
|
10192
|
+
|
|
10066
10193
|
@pulumi.output_type
|
|
10067
10194
|
class OceanLaunchSpecResourceLimit(dict):
|
|
10068
10195
|
@staticmethod
|
pulumi_spotinst/ecs/ocean.py
CHANGED
|
@@ -1098,6 +1098,110 @@ class Ocean(pulumi.CustomResource):
|
|
|
1098
1098
|
|
|
1099
1099
|
## Example Usage
|
|
1100
1100
|
|
|
1101
|
+
```python
|
|
1102
|
+
import pulumi
|
|
1103
|
+
import pulumi_spotinst as spotinst
|
|
1104
|
+
|
|
1105
|
+
example = spotinst.ecs.Ocean("example",
|
|
1106
|
+
region="us-west-2",
|
|
1107
|
+
name="sample-ecs-cluster",
|
|
1108
|
+
cluster_name="sample-ecs-cluster",
|
|
1109
|
+
min_size=0,
|
|
1110
|
+
max_size=1,
|
|
1111
|
+
desired_capacity=0,
|
|
1112
|
+
subnet_ids=["subnet-12345"],
|
|
1113
|
+
instance_types=[{
|
|
1114
|
+
"filters": [{
|
|
1115
|
+
"architectures": [
|
|
1116
|
+
"x86_64",
|
|
1117
|
+
"i386",
|
|
1118
|
+
],
|
|
1119
|
+
"categories": [
|
|
1120
|
+
"Accelerated_computing",
|
|
1121
|
+
"Compute_optimized",
|
|
1122
|
+
],
|
|
1123
|
+
"diskTypes": [
|
|
1124
|
+
"EBS",
|
|
1125
|
+
"SSD",
|
|
1126
|
+
],
|
|
1127
|
+
"excludeFamilies": ["m*"],
|
|
1128
|
+
"excludeMetal": False,
|
|
1129
|
+
"hypervisor": ["xen"],
|
|
1130
|
+
"includeFamilies": [
|
|
1131
|
+
"c*",
|
|
1132
|
+
"t*",
|
|
1133
|
+
],
|
|
1134
|
+
"isEnaSupported": False,
|
|
1135
|
+
"maxGpu": 4,
|
|
1136
|
+
"minGpu": 0,
|
|
1137
|
+
"maxMemoryGib": 16,
|
|
1138
|
+
"maxNetworkPerformance": 20,
|
|
1139
|
+
"maxVcpu": 16,
|
|
1140
|
+
"minEnis": 2,
|
|
1141
|
+
"minMemoryGib": 8,
|
|
1142
|
+
"minNetworkPerformance": 2,
|
|
1143
|
+
"minVcpu": 2,
|
|
1144
|
+
"rootDeviceTypes": ["ebs"],
|
|
1145
|
+
"virtualizationTypes": ["hvm"],
|
|
1146
|
+
}],
|
|
1147
|
+
}],
|
|
1148
|
+
security_group_ids=["sg-12345"],
|
|
1149
|
+
image_id="ami-12345",
|
|
1150
|
+
iam_instance_profile="iam-profile",
|
|
1151
|
+
key_pair="KeyPair",
|
|
1152
|
+
user_data="echo hello world",
|
|
1153
|
+
associate_public_ip_address=False,
|
|
1154
|
+
utilize_reserved_instances=False,
|
|
1155
|
+
draining_timeout=120,
|
|
1156
|
+
monitoring=True,
|
|
1157
|
+
ebs_optimized=True,
|
|
1158
|
+
use_as_template_only=True,
|
|
1159
|
+
spot_percentage=100,
|
|
1160
|
+
utilize_commitments=False,
|
|
1161
|
+
fallback_to_ondemand=True,
|
|
1162
|
+
cluster_orientations=[{
|
|
1163
|
+
"availability_vs_cost": "balanced",
|
|
1164
|
+
}],
|
|
1165
|
+
instance_metadata_options={
|
|
1166
|
+
"http_tokens": "required",
|
|
1167
|
+
"http_put_response_hop_limit": 10,
|
|
1168
|
+
},
|
|
1169
|
+
block_device_mappings=[{
|
|
1170
|
+
"device_name": "/dev/xvda1",
|
|
1171
|
+
"ebs": {
|
|
1172
|
+
"delete_on_termination": True,
|
|
1173
|
+
"encrypted": False,
|
|
1174
|
+
"volume_type": "gp2",
|
|
1175
|
+
"volume_size": 50,
|
|
1176
|
+
"throughput": 500,
|
|
1177
|
+
"dynamic_volume_size": {
|
|
1178
|
+
"base_size": 50,
|
|
1179
|
+
"resource": "CPU",
|
|
1180
|
+
"size_per_resource_unit": 20,
|
|
1181
|
+
},
|
|
1182
|
+
},
|
|
1183
|
+
}],
|
|
1184
|
+
optimize_images={
|
|
1185
|
+
"perform_at": "timeWindow",
|
|
1186
|
+
"time_windows": [
|
|
1187
|
+
"Sun:02:00-Sun:12:00",
|
|
1188
|
+
"Sun:05:00-Sun:16:00",
|
|
1189
|
+
],
|
|
1190
|
+
"should_optimize_ecs_ami": True,
|
|
1191
|
+
},
|
|
1192
|
+
tags=[{
|
|
1193
|
+
"key": "fakeKey",
|
|
1194
|
+
"value": "fakeValue",
|
|
1195
|
+
}],
|
|
1196
|
+
logging={
|
|
1197
|
+
"export": {
|
|
1198
|
+
"s3s": [{
|
|
1199
|
+
"id": "di-abcd123",
|
|
1200
|
+
}],
|
|
1201
|
+
},
|
|
1202
|
+
})
|
|
1203
|
+
```
|
|
1204
|
+
|
|
1101
1205
|
## Import
|
|
1102
1206
|
|
|
1103
1207
|
Clusters can be imported using the Ocean `id`, e.g.,
|
|
@@ -1151,6 +1255,110 @@ class Ocean(pulumi.CustomResource):
|
|
|
1151
1255
|
|
|
1152
1256
|
## Example Usage
|
|
1153
1257
|
|
|
1258
|
+
```python
|
|
1259
|
+
import pulumi
|
|
1260
|
+
import pulumi_spotinst as spotinst
|
|
1261
|
+
|
|
1262
|
+
example = spotinst.ecs.Ocean("example",
|
|
1263
|
+
region="us-west-2",
|
|
1264
|
+
name="sample-ecs-cluster",
|
|
1265
|
+
cluster_name="sample-ecs-cluster",
|
|
1266
|
+
min_size=0,
|
|
1267
|
+
max_size=1,
|
|
1268
|
+
desired_capacity=0,
|
|
1269
|
+
subnet_ids=["subnet-12345"],
|
|
1270
|
+
instance_types=[{
|
|
1271
|
+
"filters": [{
|
|
1272
|
+
"architectures": [
|
|
1273
|
+
"x86_64",
|
|
1274
|
+
"i386",
|
|
1275
|
+
],
|
|
1276
|
+
"categories": [
|
|
1277
|
+
"Accelerated_computing",
|
|
1278
|
+
"Compute_optimized",
|
|
1279
|
+
],
|
|
1280
|
+
"diskTypes": [
|
|
1281
|
+
"EBS",
|
|
1282
|
+
"SSD",
|
|
1283
|
+
],
|
|
1284
|
+
"excludeFamilies": ["m*"],
|
|
1285
|
+
"excludeMetal": False,
|
|
1286
|
+
"hypervisor": ["xen"],
|
|
1287
|
+
"includeFamilies": [
|
|
1288
|
+
"c*",
|
|
1289
|
+
"t*",
|
|
1290
|
+
],
|
|
1291
|
+
"isEnaSupported": False,
|
|
1292
|
+
"maxGpu": 4,
|
|
1293
|
+
"minGpu": 0,
|
|
1294
|
+
"maxMemoryGib": 16,
|
|
1295
|
+
"maxNetworkPerformance": 20,
|
|
1296
|
+
"maxVcpu": 16,
|
|
1297
|
+
"minEnis": 2,
|
|
1298
|
+
"minMemoryGib": 8,
|
|
1299
|
+
"minNetworkPerformance": 2,
|
|
1300
|
+
"minVcpu": 2,
|
|
1301
|
+
"rootDeviceTypes": ["ebs"],
|
|
1302
|
+
"virtualizationTypes": ["hvm"],
|
|
1303
|
+
}],
|
|
1304
|
+
}],
|
|
1305
|
+
security_group_ids=["sg-12345"],
|
|
1306
|
+
image_id="ami-12345",
|
|
1307
|
+
iam_instance_profile="iam-profile",
|
|
1308
|
+
key_pair="KeyPair",
|
|
1309
|
+
user_data="echo hello world",
|
|
1310
|
+
associate_public_ip_address=False,
|
|
1311
|
+
utilize_reserved_instances=False,
|
|
1312
|
+
draining_timeout=120,
|
|
1313
|
+
monitoring=True,
|
|
1314
|
+
ebs_optimized=True,
|
|
1315
|
+
use_as_template_only=True,
|
|
1316
|
+
spot_percentage=100,
|
|
1317
|
+
utilize_commitments=False,
|
|
1318
|
+
fallback_to_ondemand=True,
|
|
1319
|
+
cluster_orientations=[{
|
|
1320
|
+
"availability_vs_cost": "balanced",
|
|
1321
|
+
}],
|
|
1322
|
+
instance_metadata_options={
|
|
1323
|
+
"http_tokens": "required",
|
|
1324
|
+
"http_put_response_hop_limit": 10,
|
|
1325
|
+
},
|
|
1326
|
+
block_device_mappings=[{
|
|
1327
|
+
"device_name": "/dev/xvda1",
|
|
1328
|
+
"ebs": {
|
|
1329
|
+
"delete_on_termination": True,
|
|
1330
|
+
"encrypted": False,
|
|
1331
|
+
"volume_type": "gp2",
|
|
1332
|
+
"volume_size": 50,
|
|
1333
|
+
"throughput": 500,
|
|
1334
|
+
"dynamic_volume_size": {
|
|
1335
|
+
"base_size": 50,
|
|
1336
|
+
"resource": "CPU",
|
|
1337
|
+
"size_per_resource_unit": 20,
|
|
1338
|
+
},
|
|
1339
|
+
},
|
|
1340
|
+
}],
|
|
1341
|
+
optimize_images={
|
|
1342
|
+
"perform_at": "timeWindow",
|
|
1343
|
+
"time_windows": [
|
|
1344
|
+
"Sun:02:00-Sun:12:00",
|
|
1345
|
+
"Sun:05:00-Sun:16:00",
|
|
1346
|
+
],
|
|
1347
|
+
"should_optimize_ecs_ami": True,
|
|
1348
|
+
},
|
|
1349
|
+
tags=[{
|
|
1350
|
+
"key": "fakeKey",
|
|
1351
|
+
"value": "fakeValue",
|
|
1352
|
+
}],
|
|
1353
|
+
logging={
|
|
1354
|
+
"export": {
|
|
1355
|
+
"s3s": [{
|
|
1356
|
+
"id": "di-abcd123",
|
|
1357
|
+
}],
|
|
1358
|
+
},
|
|
1359
|
+
})
|
|
1360
|
+
```
|
|
1361
|
+
|
|
1154
1362
|
## Import
|
|
1155
1363
|
|
|
1156
1364
|
Clusters can be imported using the Ocean `id`, e.g.,
|
|
@@ -60,7 +60,7 @@ class OceanLaunchSpecArgs:
|
|
|
60
60
|
:param pulumi.Input['OceanLaunchSpecResourceLimitsArgs'] resource_limits: The Ocean virtual node group resource limits object.
|
|
61
61
|
:param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
|
|
62
62
|
:param pulumi.Input[_builtins.int] root_volume_size: Root volume size (in GB).
|
|
63
|
-
:param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
|
|
63
|
+
:param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`, `"pd-balanced"`.
|
|
64
64
|
:param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
|
|
65
65
|
:param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
|
|
66
66
|
:param pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs'] shielded_instance_config: The Ocean shielded instance configuration object.
|
|
@@ -287,7 +287,7 @@ class OceanLaunchSpecArgs:
|
|
|
287
287
|
@pulumi.getter(name="rootVolumeType")
|
|
288
288
|
def root_volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
289
289
|
"""
|
|
290
|
-
Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
|
|
290
|
+
Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`, `"pd-balanced"`.
|
|
291
291
|
"""
|
|
292
292
|
return pulumi.get(self, "root_volume_type")
|
|
293
293
|
|
|
@@ -443,7 +443,7 @@ class _OceanLaunchSpecState:
|
|
|
443
443
|
:param pulumi.Input['OceanLaunchSpecResourceLimitsArgs'] resource_limits: The Ocean virtual node group resource limits object.
|
|
444
444
|
:param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
|
|
445
445
|
:param pulumi.Input[_builtins.int] root_volume_size: Root volume size (in GB).
|
|
446
|
-
:param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
|
|
446
|
+
:param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`, `"pd-balanced"`.
|
|
447
447
|
:param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
|
|
448
448
|
:param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
|
|
449
449
|
:param pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs'] shielded_instance_config: The Ocean shielded instance configuration object.
|
|
@@ -671,7 +671,7 @@ class _OceanLaunchSpecState:
|
|
|
671
671
|
@pulumi.getter(name="rootVolumeType")
|
|
672
672
|
def root_volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
673
673
|
"""
|
|
674
|
-
Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
|
|
674
|
+
Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`, `"pd-balanced"`.
|
|
675
675
|
"""
|
|
676
676
|
return pulumi.get(self, "root_volume_type")
|
|
677
677
|
|
|
@@ -932,7 +932,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
|
|
|
932
932
|
:param pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']] resource_limits: The Ocean virtual node group resource limits object.
|
|
933
933
|
:param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
|
|
934
934
|
:param pulumi.Input[_builtins.int] root_volume_size: Root volume size (in GB).
|
|
935
|
-
:param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
|
|
935
|
+
:param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`, `"pd-balanced"`.
|
|
936
936
|
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
|
|
937
937
|
:param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
|
|
938
938
|
:param pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']] shielded_instance_config: The Ocean shielded instance configuration object.
|
|
@@ -1177,7 +1177,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
|
|
|
1177
1177
|
:param pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']] resource_limits: The Ocean virtual node group resource limits object.
|
|
1178
1178
|
:param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
|
|
1179
1179
|
:param pulumi.Input[_builtins.int] root_volume_size: Root volume size (in GB).
|
|
1180
|
-
:param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
|
|
1180
|
+
:param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`, `"pd-balanced"`.
|
|
1181
1181
|
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
|
|
1182
1182
|
:param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
|
|
1183
1183
|
:param pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']] shielded_instance_config: The Ocean shielded instance configuration object.
|
|
@@ -1330,7 +1330,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
|
|
|
1330
1330
|
@pulumi.getter(name="rootVolumeType")
|
|
1331
1331
|
def root_volume_type(self) -> pulumi.Output[_builtins.str]:
|
|
1332
1332
|
"""
|
|
1333
|
-
Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
|
|
1333
|
+
Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`, `"pd-balanced"`.
|
|
1334
1334
|
"""
|
|
1335
1335
|
return pulumi.get(self, "root_volume_type")
|
|
1336
1336
|
|