spotinst.StatefulNodeAzure
Explore with Pulumi AI
- Example Usage
- Strategy
- Compute
- Boot Diagnostics
- Data Disks
- Extensions
- Image
- Load Balancer
- Login
- Managed Service Identities
- Proximity Placement Groups
- Network
- OS Disk
- Secret
- Security
- Tag
- Health
- Persistence
- Scheduling Tasks
- Signals
- Attach Data Disk
- Detach Data Disk
- Update State
- Import VM
- Deallocation Config
- Create StatefulNodeAzure Resource
- Constructor syntax
- Constructor example
- StatefulNodeAzure Resource Properties
- Inputs
- Outputs
- Look up Existing StatefulNodeAzure Resource
- Supporting Types
- Package Details
Provides a Spotinst stateful node Azure resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";
const testStatefulNodeAzure = new spotinst.StatefulNodeAzure("test_stateful_node_azure", {
name: "example_stateful_node_azure",
region: "eastus",
resourceGroupName: "spotinst-azure",
description: "example_stateful_node_azure_description",
strategy: {
drainingTimeout: 30,
fallbackToOnDemand: true,
optimizationWindows: ["Tue:19:46-Tue:20:46"],
odWindows: ["Wed:19:46-Wed:21:46"],
availabilityVsCost: 100,
vmAdmins: [
"UbuntuUser",
"TestUser",
],
revertToSpot: {
performAt: "timeWindow",
},
preferredLifeCycle: "od",
capacityReservations: [{
shouldUtilize: true,
utilizationStrategy: "utilizeOverOD",
capacityReservationGroups: [{
crgName: "crg name",
crgResourceGroupName: "resourceGroupName",
crgShouldPrioritize: true,
}],
}],
},
os: "Linux",
vmSizes: {
odSizes: [
"standard_ds1_v2",
"standard_ds2_v2",
],
spotSizes: [
"standard_ds1_v2",
"standard_ds2_v2",
],
preferredSpotSizes: ["standard_ds1_v2"],
excludedVmSizes: ["standard_ds2_v3"],
spotSizeAttributes: {
maxCpu: 16,
minCpu: 2,
maxMemory: 48,
minMemory: 2,
maxStorage: 1000,
minStorage: 50,
},
},
zones: [
"1",
"3",
],
preferredZone: "1",
customData: "",
shutdownScript: "",
userData: "",
vmName: "VMName",
vmNamePrefix: "VMNamePrefix",
licenseType: "SLES_BYOS",
bootDiagnostics: [{
isEnabled: true,
storageUrl: "https://.blob.core.windows.net/test",
type: "unmanaged",
}],
dataDisks: [
{
sizeGb: 1,
lun: 1,
type: "Standard_LRS",
},
{
sizeGb: 10,
lun: 2,
type: "Standard_LRS",
},
],
extensions: [{
name: "extensionName",
type: "customScript",
publisher: "Microsoft.Azure.Extensions",
apiVersion: "2.0",
minorVersionAutoUpgrade: true,
protectedSettings: {
script: "IyEvYmluL2Jhc2gKZWNobyAibmlyIiA+IC9ob29uaXIudHh0Cg==",
},
publicSettings: {
fileUris: "https://testspot/Azuretest.sh",
},
}],
image: {
marketplaceImages: [{
publisher: "Canonical",
offer: "UbuntuServer",
sku: "16.04-LTS",
version: "latest",
}],
customImages: [{
customImageResourceGroupName: "resourceGroupName",
name: "imageName",
}],
galleries: [{
galleryResourceGroupName: "resourceGroupName",
galleryName: "galleryName",
imageName: "imageName",
versionName: "1.1.0",
spotAccountId: "act-123456",
}],
},
loadBalancers: [{
type: "loadBalancer",
resourceGroupName: "testResourceGroup",
name: "testLoadBalancer",
sku: "Standard",
backendPoolNames: [
"testBackendPool1",
"testBackendPool2",
],
}],
login: {
userName: "admin",
sshPublicKey: "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
},
managedServiceIdentities: [{
name: "mySI2",
resourceGroupName: "myResourceGroup",
}],
network: {
networkResourceGroupName: "subnetResourceGroup",
virtualNetworkName: "vname",
networkInterfaces: [{
isPrimary: true,
subnetName: "testSubnet",
assignPublicIp: true,
publicIpSku: "Standard",
networkSecurityGroups: [{
networkResourceGroupName: "test",
name: "test",
}],
enableIpForwarding: true,
privateIpAddresses: ["172.23.4.20"],
additionalIpConfigurations: [{
name: "test",
privateIpAddressVersion: "IPv4",
}],
publicIps: [{
networkResourceGroupName: "resourceGroup",
name: "test",
}],
applicationSecurityGroups: [{
networkResourceGroupName: "AsgResourceGroup",
name: "AsgName",
}],
}],
},
osDisk: {
sizeGb: 30,
type: "Standard_LRS",
caching: "ReadOnly",
},
secrets: [{
sourceVaults: [{
name: "string",
resourceGroupName: "string",
}],
vaultCertificates: [{
certificateUrl: "string",
certificateStore: "string",
}],
}],
security: {
securityType: "ConfidentialVM",
secureBootEnabled: true,
vtpmEnabled: true,
encryptionAtHost: false,
confidentialOsDiskEncryption: true,
},
tags: [{
tagKey: "Creator",
tagValue: "string",
}],
health: {
healthCheckTypes: ["vmState"],
unhealthyDuration: 300,
gracePeriod: 120,
autoHealing: true,
},
shouldPersistOsDisk: false,
osDiskPersistenceMode: "reattach",
shouldPersistDataDisks: true,
dataDisksPersistenceMode: "reattach",
shouldPersistNetwork: true,
schedulingTasks: [
{
isEnabled: true,
type: "pause",
cronExpression: "44 10 * * *",
},
{
isEnabled: true,
type: "resume",
cronExpression: "48 10 * * *",
},
{
isEnabled: true,
type: "recycle",
cronExpression: "52 10 * * *",
},
],
signals: [
{
type: "vmReady",
timeout: 20,
},
{
type: "vmReady",
timeout: 40,
},
],
proximityPlacementGroups: [{
name: "TestPPG",
resourceGroupName: "TestResourceGroup",
}],
deletes: [{
shouldTerminateVm: true,
networkShouldDeallocate: true,
networkTtlInHours: 0,
diskShouldDeallocate: true,
diskTtlInHours: 0,
snapshotShouldDeallocate: true,
snapshotTtlInHours: 0,
publicIpShouldDeallocate: true,
publicIpTtlInHours: 0,
shouldDeregisterFromLb: true,
shouldRevertToOd: false,
}],
});
import pulumi
import pulumi_spotinst as spotinst
test_stateful_node_azure = spotinst.StatefulNodeAzure("test_stateful_node_azure",
name="example_stateful_node_azure",
region="eastus",
resource_group_name="spotinst-azure",
description="example_stateful_node_azure_description",
strategy={
"draining_timeout": 30,
"fallback_to_on_demand": True,
"optimization_windows": ["Tue:19:46-Tue:20:46"],
"od_windows": ["Wed:19:46-Wed:21:46"],
"availability_vs_cost": 100,
"vm_admins": [
"UbuntuUser",
"TestUser",
],
"revert_to_spot": {
"perform_at": "timeWindow",
},
"preferred_life_cycle": "od",
"capacity_reservations": [{
"should_utilize": True,
"utilization_strategy": "utilizeOverOD",
"capacity_reservation_groups": [{
"crg_name": "crg name",
"crg_resource_group_name": "resourceGroupName",
"crg_should_prioritize": True,
}],
}],
},
os="Linux",
vm_sizes={
"od_sizes": [
"standard_ds1_v2",
"standard_ds2_v2",
],
"spot_sizes": [
"standard_ds1_v2",
"standard_ds2_v2",
],
"preferred_spot_sizes": ["standard_ds1_v2"],
"excluded_vm_sizes": ["standard_ds2_v3"],
"spot_size_attributes": {
"max_cpu": 16,
"min_cpu": 2,
"max_memory": 48,
"min_memory": 2,
"max_storage": 1000,
"min_storage": 50,
},
},
zones=[
"1",
"3",
],
preferred_zone="1",
custom_data="",
shutdown_script="",
user_data="",
vm_name="VMName",
vm_name_prefix="VMNamePrefix",
license_type="SLES_BYOS",
boot_diagnostics=[{
"is_enabled": True,
"storage_url": "https://.blob.core.windows.net/test",
"type": "unmanaged",
}],
data_disks=[
{
"size_gb": 1,
"lun": 1,
"type": "Standard_LRS",
},
{
"size_gb": 10,
"lun": 2,
"type": "Standard_LRS",
},
],
extensions=[{
"name": "extensionName",
"type": "customScript",
"publisher": "Microsoft.Azure.Extensions",
"api_version": "2.0",
"minor_version_auto_upgrade": True,
"protected_settings": {
"script": "IyEvYmluL2Jhc2gKZWNobyAibmlyIiA+IC9ob29uaXIudHh0Cg==",
},
"public_settings": {
"fileUris": "https://testspot/Azuretest.sh",
},
}],
image={
"marketplace_images": [{
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "latest",
}],
"custom_images": [{
"custom_image_resource_group_name": "resourceGroupName",
"name": "imageName",
}],
"galleries": [{
"gallery_resource_group_name": "resourceGroupName",
"gallery_name": "galleryName",
"image_name": "imageName",
"version_name": "1.1.0",
"spot_account_id": "act-123456",
}],
},
load_balancers=[{
"type": "loadBalancer",
"resource_group_name": "testResourceGroup",
"name": "testLoadBalancer",
"sku": "Standard",
"backend_pool_names": [
"testBackendPool1",
"testBackendPool2",
],
}],
login={
"user_name": "admin",
"ssh_public_key": "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
},
managed_service_identities=[{
"name": "mySI2",
"resource_group_name": "myResourceGroup",
}],
network={
"network_resource_group_name": "subnetResourceGroup",
"virtual_network_name": "vname",
"network_interfaces": [{
"is_primary": True,
"subnet_name": "testSubnet",
"assign_public_ip": True,
"public_ip_sku": "Standard",
"network_security_groups": [{
"network_resource_group_name": "test",
"name": "test",
}],
"enable_ip_forwarding": True,
"private_ip_addresses": ["172.23.4.20"],
"additional_ip_configurations": [{
"name": "test",
"private_ip_address_version": "IPv4",
}],
"public_ips": [{
"network_resource_group_name": "resourceGroup",
"name": "test",
}],
"application_security_groups": [{
"network_resource_group_name": "AsgResourceGroup",
"name": "AsgName",
}],
}],
},
os_disk={
"size_gb": 30,
"type": "Standard_LRS",
"caching": "ReadOnly",
},
secrets=[{
"source_vaults": [{
"name": "string",
"resource_group_name": "string",
}],
"vault_certificates": [{
"certificate_url": "string",
"certificate_store": "string",
}],
}],
security={
"security_type": "ConfidentialVM",
"secure_boot_enabled": True,
"vtpm_enabled": True,
"encryption_at_host": False,
"confidential_os_disk_encryption": True,
},
tags=[{
"tag_key": "Creator",
"tag_value": "string",
}],
health={
"health_check_types": ["vmState"],
"unhealthy_duration": 300,
"grace_period": 120,
"auto_healing": True,
},
should_persist_os_disk=False,
os_disk_persistence_mode="reattach",
should_persist_data_disks=True,
data_disks_persistence_mode="reattach",
should_persist_network=True,
scheduling_tasks=[
{
"is_enabled": True,
"type": "pause",
"cron_expression": "44 10 * * *",
},
{
"is_enabled": True,
"type": "resume",
"cron_expression": "48 10 * * *",
},
{
"is_enabled": True,
"type": "recycle",
"cron_expression": "52 10 * * *",
},
],
signals=[
{
"type": "vmReady",
"timeout": 20,
},
{
"type": "vmReady",
"timeout": 40,
},
],
proximity_placement_groups=[{
"name": "TestPPG",
"resource_group_name": "TestResourceGroup",
}],
deletes=[{
"should_terminate_vm": True,
"network_should_deallocate": True,
"network_ttl_in_hours": 0,
"disk_should_deallocate": True,
"disk_ttl_in_hours": 0,
"snapshot_should_deallocate": True,
"snapshot_ttl_in_hours": 0,
"public_ip_should_deallocate": True,
"public_ip_ttl_in_hours": 0,
"should_deregister_from_lb": True,
"should_revert_to_od": False,
}])
package main
import (
"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := spotinst.NewStatefulNodeAzure(ctx, "test_stateful_node_azure", &spotinst.StatefulNodeAzureArgs{
Name: pulumi.String("example_stateful_node_azure"),
Region: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("spotinst-azure"),
Description: pulumi.String("example_stateful_node_azure_description"),
Strategy: &spotinst.StatefulNodeAzureStrategyArgs{
DrainingTimeout: pulumi.Int(30),
FallbackToOnDemand: pulumi.Bool(true),
OptimizationWindows: pulumi.StringArray{
pulumi.String("Tue:19:46-Tue:20:46"),
},
OdWindows: pulumi.StringArray{
pulumi.String("Wed:19:46-Wed:21:46"),
},
AvailabilityVsCost: pulumi.Int(100),
VmAdmins: pulumi.StringArray{
pulumi.String("UbuntuUser"),
pulumi.String("TestUser"),
},
RevertToSpot: &spotinst.StatefulNodeAzureStrategyRevertToSpotArgs{
PerformAt: pulumi.String("timeWindow"),
},
PreferredLifeCycle: pulumi.String("od"),
CapacityReservations: spotinst.StatefulNodeAzureStrategyCapacityReservationArray{
&spotinst.StatefulNodeAzureStrategyCapacityReservationArgs{
ShouldUtilize: pulumi.Bool(true),
UtilizationStrategy: pulumi.String("utilizeOverOD"),
CapacityReservationGroups: spotinst.StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArray{
&spotinst.StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs{
CrgName: pulumi.String("crg name"),
CrgResourceGroupName: pulumi.String("resourceGroupName"),
CrgShouldPrioritize: pulumi.Bool(true),
},
},
},
},
},
Os: pulumi.String("Linux"),
VmSizes: &spotinst.StatefulNodeAzureVmSizesArgs{
OdSizes: pulumi.StringArray{
pulumi.String("standard_ds1_v2"),
pulumi.String("standard_ds2_v2"),
},
SpotSizes: pulumi.StringArray{
pulumi.String("standard_ds1_v2"),
pulumi.String("standard_ds2_v2"),
},
PreferredSpotSizes: pulumi.StringArray{
pulumi.String("standard_ds1_v2"),
},
ExcludedVmSizes: pulumi.StringArray{
pulumi.String("standard_ds2_v3"),
},
SpotSizeAttributes: &spotinst.StatefulNodeAzureVmSizesSpotSizeAttributesArgs{
MaxCpu: pulumi.Int(16),
MinCpu: pulumi.Int(2),
MaxMemory: pulumi.Int(48),
MinMemory: pulumi.Int(2),
MaxStorage: pulumi.Int(1000),
MinStorage: pulumi.Int(50),
},
},
Zones: pulumi.StringArray{
pulumi.String("1"),
pulumi.String("3"),
},
PreferredZone: pulumi.String("1"),
CustomData: pulumi.String(""),
ShutdownScript: pulumi.String(""),
UserData: pulumi.String(""),
VmName: pulumi.String("VMName"),
VmNamePrefix: pulumi.String("VMNamePrefix"),
LicenseType: pulumi.String("SLES_BYOS"),
BootDiagnostics: spotinst.StatefulNodeAzureBootDiagnosticArray{
&spotinst.StatefulNodeAzureBootDiagnosticArgs{
IsEnabled: pulumi.Bool(true),
StorageUrl: pulumi.String("https://.blob.core.windows.net/test"),
Type: pulumi.String("unmanaged"),
},
},
DataDisks: spotinst.StatefulNodeAzureDataDiskArray{
&spotinst.StatefulNodeAzureDataDiskArgs{
SizeGb: pulumi.Int(1),
Lun: pulumi.Int(1),
Type: pulumi.String("Standard_LRS"),
},
&spotinst.StatefulNodeAzureDataDiskArgs{
SizeGb: pulumi.Int(10),
Lun: pulumi.Int(2),
Type: pulumi.String("Standard_LRS"),
},
},
Extensions: spotinst.StatefulNodeAzureExtensionArray{
&spotinst.StatefulNodeAzureExtensionArgs{
Name: pulumi.String("extensionName"),
Type: pulumi.String("customScript"),
Publisher: pulumi.String("Microsoft.Azure.Extensions"),
ApiVersion: pulumi.String("2.0"),
MinorVersionAutoUpgrade: pulumi.Bool(true),
ProtectedSettings: pulumi.StringMap{
"script": pulumi.String("IyEvYmluL2Jhc2gKZWNobyAibmlyIiA+IC9ob29uaXIudHh0Cg=="),
},
PublicSettings: pulumi.StringMap{
"fileUris": pulumi.String("https://testspot/Azuretest.sh"),
},
},
},
Image: &spotinst.StatefulNodeAzureImageArgs{
MarketplaceImages: spotinst.StatefulNodeAzureImageMarketplaceImageArray{
&spotinst.StatefulNodeAzureImageMarketplaceImageArgs{
Publisher: pulumi.String("Canonical"),
Offer: pulumi.String("UbuntuServer"),
Sku: pulumi.String("16.04-LTS"),
Version: pulumi.String("latest"),
},
},
CustomImages: spotinst.StatefulNodeAzureImageCustomImageArray{
&spotinst.StatefulNodeAzureImageCustomImageArgs{
CustomImageResourceGroupName: pulumi.String("resourceGroupName"),
Name: pulumi.String("imageName"),
},
},
Galleries: spotinst.StatefulNodeAzureImageGalleryArray{
&spotinst.StatefulNodeAzureImageGalleryArgs{
GalleryResourceGroupName: pulumi.String("resourceGroupName"),
GalleryName: pulumi.String("galleryName"),
ImageName: pulumi.String("imageName"),
VersionName: pulumi.String("1.1.0"),
SpotAccountId: pulumi.String("act-123456"),
},
},
},
LoadBalancers: spotinst.StatefulNodeAzureLoadBalancerArray{
&spotinst.StatefulNodeAzureLoadBalancerArgs{
Type: pulumi.String("loadBalancer"),
ResourceGroupName: pulumi.String("testResourceGroup"),
Name: pulumi.String("testLoadBalancer"),
Sku: pulumi.String("Standard"),
BackendPoolNames: pulumi.StringArray{
pulumi.String("testBackendPool1"),
pulumi.String("testBackendPool2"),
},
},
},
Login: &spotinst.StatefulNodeAzureLoginArgs{
UserName: pulumi.String("admin"),
SshPublicKey: pulumi.String("33a2s1f3g5a1df5g1ad3f2g1adfg56dfg=="),
},
ManagedServiceIdentities: spotinst.StatefulNodeAzureManagedServiceIdentityArray{
&spotinst.StatefulNodeAzureManagedServiceIdentityArgs{
Name: pulumi.String("mySI2"),
ResourceGroupName: pulumi.String("myResourceGroup"),
},
},
Network: &spotinst.StatefulNodeAzureNetworkArgs{
NetworkResourceGroupName: pulumi.String("subnetResourceGroup"),
VirtualNetworkName: pulumi.String("vname"),
NetworkInterfaces: spotinst.StatefulNodeAzureNetworkNetworkInterfaceArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfaceArgs{
IsPrimary: pulumi.Bool(true),
SubnetName: pulumi.String("testSubnet"),
AssignPublicIp: pulumi.Bool(true),
PublicIpSku: pulumi.String("Standard"),
NetworkSecurityGroups: spotinst.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArgs{
NetworkResourceGroupName: pulumi.String("test"),
Name: pulumi.String("test"),
},
},
EnableIpForwarding: pulumi.Bool(true),
PrivateIpAddresses: pulumi.StringArray{
pulumi.String("172.23.4.20"),
},
AdditionalIpConfigurations: spotinst.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs{
Name: pulumi.String("test"),
PrivateIpAddressVersion: pulumi.String("IPv4"),
},
},
PublicIps: spotinst.StatefulNodeAzureNetworkNetworkInterfacePublicIpArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfacePublicIpArgs{
NetworkResourceGroupName: pulumi.String("resourceGroup"),
Name: pulumi.String("test"),
},
},
ApplicationSecurityGroups: spotinst.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs{
NetworkResourceGroupName: pulumi.String("AsgResourceGroup"),
Name: pulumi.String("AsgName"),
},
},
},
},
},
OsDisk: &spotinst.StatefulNodeAzureOsDiskArgs{
SizeGb: pulumi.Int(30),
Type: pulumi.String("Standard_LRS"),
Caching: pulumi.String("ReadOnly"),
},
Secrets: spotinst.StatefulNodeAzureSecretArray{
&spotinst.StatefulNodeAzureSecretArgs{
SourceVaults: spotinst.StatefulNodeAzureSecretSourceVaultArray{
&spotinst.StatefulNodeAzureSecretSourceVaultArgs{
Name: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
},
},
VaultCertificates: spotinst.StatefulNodeAzureSecretVaultCertificateArray{
&spotinst.StatefulNodeAzureSecretVaultCertificateArgs{
CertificateUrl: pulumi.String("string"),
CertificateStore: pulumi.String("string"),
},
},
},
},
Security: &spotinst.StatefulNodeAzureSecurityArgs{
SecurityType: pulumi.String("ConfidentialVM"),
SecureBootEnabled: pulumi.Bool(true),
VtpmEnabled: pulumi.Bool(true),
EncryptionAtHost: pulumi.Bool(false),
ConfidentialOsDiskEncryption: pulumi.Bool(true),
},
Tags: spotinst.StatefulNodeAzureTagArray{
&spotinst.StatefulNodeAzureTagArgs{
TagKey: pulumi.String("Creator"),
TagValue: pulumi.String("string"),
},
},
Health: &spotinst.StatefulNodeAzureHealthArgs{
HealthCheckTypes: pulumi.StringArray{
pulumi.String("vmState"),
},
UnhealthyDuration: pulumi.Int(300),
GracePeriod: pulumi.Int(120),
AutoHealing: pulumi.Bool(true),
},
ShouldPersistOsDisk: pulumi.Bool(false),
OsDiskPersistenceMode: pulumi.String("reattach"),
ShouldPersistDataDisks: pulumi.Bool(true),
DataDisksPersistenceMode: pulumi.String("reattach"),
ShouldPersistNetwork: pulumi.Bool(true),
SchedulingTasks: spotinst.StatefulNodeAzureSchedulingTaskArray{
&spotinst.StatefulNodeAzureSchedulingTaskArgs{
IsEnabled: pulumi.Bool(true),
Type: pulumi.String("pause"),
CronExpression: pulumi.String("44 10 * * *"),
},
&spotinst.StatefulNodeAzureSchedulingTaskArgs{
IsEnabled: pulumi.Bool(true),
Type: pulumi.String("resume"),
CronExpression: pulumi.String("48 10 * * *"),
},
&spotinst.StatefulNodeAzureSchedulingTaskArgs{
IsEnabled: pulumi.Bool(true),
Type: pulumi.String("recycle"),
CronExpression: pulumi.String("52 10 * * *"),
},
},
Signals: spotinst.StatefulNodeAzureSignalArray{
&spotinst.StatefulNodeAzureSignalArgs{
Type: pulumi.String("vmReady"),
Timeout: pulumi.Int(20),
},
&spotinst.StatefulNodeAzureSignalArgs{
Type: pulumi.String("vmReady"),
Timeout: pulumi.Int(40),
},
},
ProximityPlacementGroups: spotinst.StatefulNodeAzureProximityPlacementGroupArray{
&spotinst.StatefulNodeAzureProximityPlacementGroupArgs{
Name: pulumi.String("TestPPG"),
ResourceGroupName: pulumi.String("TestResourceGroup"),
},
},
Deletes: spotinst.StatefulNodeAzureDeleteArray{
&spotinst.StatefulNodeAzureDeleteArgs{
ShouldTerminateVm: pulumi.Bool(true),
NetworkShouldDeallocate: pulumi.Bool(true),
NetworkTtlInHours: pulumi.Int(0),
DiskShouldDeallocate: pulumi.Bool(true),
DiskTtlInHours: pulumi.Int(0),
SnapshotShouldDeallocate: pulumi.Bool(true),
SnapshotTtlInHours: pulumi.Int(0),
PublicIpShouldDeallocate: pulumi.Bool(true),
PublicIpTtlInHours: pulumi.Int(0),
ShouldDeregisterFromLb: pulumi.Bool(true),
ShouldRevertToOd: pulumi.Bool(false),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using SpotInst = Pulumi.SpotInst;
return await Deployment.RunAsync(() =>
{
var testStatefulNodeAzure = new SpotInst.StatefulNodeAzure("test_stateful_node_azure", new()
{
Name = "example_stateful_node_azure",
Region = "eastus",
ResourceGroupName = "spotinst-azure",
Description = "example_stateful_node_azure_description",
Strategy = new SpotInst.Inputs.StatefulNodeAzureStrategyArgs
{
DrainingTimeout = 30,
FallbackToOnDemand = true,
OptimizationWindows = new[]
{
"Tue:19:46-Tue:20:46",
},
OdWindows = new[]
{
"Wed:19:46-Wed:21:46",
},
AvailabilityVsCost = 100,
VmAdmins = new[]
{
"UbuntuUser",
"TestUser",
},
RevertToSpot = new SpotInst.Inputs.StatefulNodeAzureStrategyRevertToSpotArgs
{
PerformAt = "timeWindow",
},
PreferredLifeCycle = "od",
CapacityReservations = new[]
{
new SpotInst.Inputs.StatefulNodeAzureStrategyCapacityReservationArgs
{
ShouldUtilize = true,
UtilizationStrategy = "utilizeOverOD",
CapacityReservationGroups = new[]
{
new SpotInst.Inputs.StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs
{
CrgName = "crg name",
CrgResourceGroupName = "resourceGroupName",
CrgShouldPrioritize = true,
},
},
},
},
},
Os = "Linux",
VmSizes = new SpotInst.Inputs.StatefulNodeAzureVmSizesArgs
{
OdSizes = new[]
{
"standard_ds1_v2",
"standard_ds2_v2",
},
SpotSizes = new[]
{
"standard_ds1_v2",
"standard_ds2_v2",
},
PreferredSpotSizes = new[]
{
"standard_ds1_v2",
},
ExcludedVmSizes = new[]
{
"standard_ds2_v3",
},
SpotSizeAttributes = new SpotInst.Inputs.StatefulNodeAzureVmSizesSpotSizeAttributesArgs
{
MaxCpu = 16,
MinCpu = 2,
MaxMemory = 48,
MinMemory = 2,
MaxStorage = 1000,
MinStorage = 50,
},
},
Zones = new[]
{
"1",
"3",
},
PreferredZone = "1",
CustomData = "",
ShutdownScript = "",
UserData = "",
VmName = "VMName",
VmNamePrefix = "VMNamePrefix",
LicenseType = "SLES_BYOS",
BootDiagnostics = new[]
{
new SpotInst.Inputs.StatefulNodeAzureBootDiagnosticArgs
{
IsEnabled = true,
StorageUrl = "https://.blob.core.windows.net/test",
Type = "unmanaged",
},
},
DataDisks = new[]
{
new SpotInst.Inputs.StatefulNodeAzureDataDiskArgs
{
SizeGb = 1,
Lun = 1,
Type = "Standard_LRS",
},
new SpotInst.Inputs.StatefulNodeAzureDataDiskArgs
{
SizeGb = 10,
Lun = 2,
Type = "Standard_LRS",
},
},
Extensions = new[]
{
new SpotInst.Inputs.StatefulNodeAzureExtensionArgs
{
Name = "extensionName",
Type = "customScript",
Publisher = "Microsoft.Azure.Extensions",
ApiVersion = "2.0",
MinorVersionAutoUpgrade = true,
ProtectedSettings =
{
{ "script", "IyEvYmluL2Jhc2gKZWNobyAibmlyIiA+IC9ob29uaXIudHh0Cg==" },
},
PublicSettings =
{
{ "fileUris", "https://testspot/Azuretest.sh" },
},
},
},
Image = new SpotInst.Inputs.StatefulNodeAzureImageArgs
{
MarketplaceImages = new[]
{
new SpotInst.Inputs.StatefulNodeAzureImageMarketplaceImageArgs
{
Publisher = "Canonical",
Offer = "UbuntuServer",
Sku = "16.04-LTS",
Version = "latest",
},
},
CustomImages = new[]
{
new SpotInst.Inputs.StatefulNodeAzureImageCustomImageArgs
{
CustomImageResourceGroupName = "resourceGroupName",
Name = "imageName",
},
},
Galleries = new[]
{
new SpotInst.Inputs.StatefulNodeAzureImageGalleryArgs
{
GalleryResourceGroupName = "resourceGroupName",
GalleryName = "galleryName",
ImageName = "imageName",
VersionName = "1.1.0",
SpotAccountId = "act-123456",
},
},
},
LoadBalancers = new[]
{
new SpotInst.Inputs.StatefulNodeAzureLoadBalancerArgs
{
Type = "loadBalancer",
ResourceGroupName = "testResourceGroup",
Name = "testLoadBalancer",
Sku = "Standard",
BackendPoolNames = new[]
{
"testBackendPool1",
"testBackendPool2",
},
},
},
Login = new SpotInst.Inputs.StatefulNodeAzureLoginArgs
{
UserName = "admin",
SshPublicKey = "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
},
ManagedServiceIdentities = new[]
{
new SpotInst.Inputs.StatefulNodeAzureManagedServiceIdentityArgs
{
Name = "mySI2",
ResourceGroupName = "myResourceGroup",
},
},
Network = new SpotInst.Inputs.StatefulNodeAzureNetworkArgs
{
NetworkResourceGroupName = "subnetResourceGroup",
VirtualNetworkName = "vname",
NetworkInterfaces = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfaceArgs
{
IsPrimary = true,
SubnetName = "testSubnet",
AssignPublicIp = true,
PublicIpSku = "Standard",
NetworkSecurityGroups = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArgs
{
NetworkResourceGroupName = "test",
Name = "test",
},
},
EnableIpForwarding = true,
PrivateIpAddresses = new[]
{
"172.23.4.20",
},
AdditionalIpConfigurations = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs
{
Name = "test",
PrivateIpAddressVersion = "IPv4",
},
},
PublicIps = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfacePublicIpArgs
{
NetworkResourceGroupName = "resourceGroup",
Name = "test",
},
},
ApplicationSecurityGroups = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs
{
NetworkResourceGroupName = "AsgResourceGroup",
Name = "AsgName",
},
},
},
},
},
OsDisk = new SpotInst.Inputs.StatefulNodeAzureOsDiskArgs
{
SizeGb = 30,
Type = "Standard_LRS",
Caching = "ReadOnly",
},
Secrets = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSecretArgs
{
SourceVaults = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSecretSourceVaultArgs
{
Name = "string",
ResourceGroupName = "string",
},
},
VaultCertificates = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSecretVaultCertificateArgs
{
CertificateUrl = "string",
CertificateStore = "string",
},
},
},
},
Security = new SpotInst.Inputs.StatefulNodeAzureSecurityArgs
{
SecurityType = "ConfidentialVM",
SecureBootEnabled = true,
VtpmEnabled = true,
EncryptionAtHost = false,
ConfidentialOsDiskEncryption = true,
},
Tags = new[]
{
new SpotInst.Inputs.StatefulNodeAzureTagArgs
{
TagKey = "Creator",
TagValue = "string",
},
},
Health = new SpotInst.Inputs.StatefulNodeAzureHealthArgs
{
HealthCheckTypes = new[]
{
"vmState",
},
UnhealthyDuration = 300,
GracePeriod = 120,
AutoHealing = true,
},
ShouldPersistOsDisk = false,
OsDiskPersistenceMode = "reattach",
ShouldPersistDataDisks = true,
DataDisksPersistenceMode = "reattach",
ShouldPersistNetwork = true,
SchedulingTasks = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSchedulingTaskArgs
{
IsEnabled = true,
Type = "pause",
CronExpression = "44 10 * * *",
},
new SpotInst.Inputs.StatefulNodeAzureSchedulingTaskArgs
{
IsEnabled = true,
Type = "resume",
CronExpression = "48 10 * * *",
},
new SpotInst.Inputs.StatefulNodeAzureSchedulingTaskArgs
{
IsEnabled = true,
Type = "recycle",
CronExpression = "52 10 * * *",
},
},
Signals = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSignalArgs
{
Type = "vmReady",
Timeout = 20,
},
new SpotInst.Inputs.StatefulNodeAzureSignalArgs
{
Type = "vmReady",
Timeout = 40,
},
},
ProximityPlacementGroups = new[]
{
new SpotInst.Inputs.StatefulNodeAzureProximityPlacementGroupArgs
{
Name = "TestPPG",
ResourceGroupName = "TestResourceGroup",
},
},
Deletes = new[]
{
new SpotInst.Inputs.StatefulNodeAzureDeleteArgs
{
ShouldTerminateVm = true,
NetworkShouldDeallocate = true,
NetworkTtlInHours = 0,
DiskShouldDeallocate = true,
DiskTtlInHours = 0,
SnapshotShouldDeallocate = true,
SnapshotTtlInHours = 0,
PublicIpShouldDeallocate = true,
PublicIpTtlInHours = 0,
ShouldDeregisterFromLb = true,
ShouldRevertToOd = false,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spotinst.StatefulNodeAzure;
import com.pulumi.spotinst.StatefulNodeAzureArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureStrategyArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureStrategyRevertToSpotArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureVmSizesArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureVmSizesSpotSizeAttributesArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureBootDiagnosticArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureDataDiskArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureExtensionArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureImageArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureLoadBalancerArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureLoginArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureManagedServiceIdentityArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureNetworkArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureOsDiskArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureSecretArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureSecurityArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureTagArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureHealthArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureSchedulingTaskArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureSignalArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureProximityPlacementGroupArgs;
import com.pulumi.spotinst.inputs.StatefulNodeAzureDeleteArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var testStatefulNodeAzure = new StatefulNodeAzure("testStatefulNodeAzure", StatefulNodeAzureArgs.builder()
.name("example_stateful_node_azure")
.region("eastus")
.resourceGroupName("spotinst-azure")
.description("example_stateful_node_azure_description")
.strategy(StatefulNodeAzureStrategyArgs.builder()
.drainingTimeout(30)
.fallbackToOnDemand(true)
.optimizationWindows("Tue:19:46-Tue:20:46")
.odWindows("Wed:19:46-Wed:21:46")
.availabilityVsCost(100)
.vmAdmins(
"UbuntuUser",
"TestUser")
.revertToSpot(StatefulNodeAzureStrategyRevertToSpotArgs.builder()
.performAt("timeWindow")
.build())
.preferredLifeCycle("od")
.capacityReservations(StatefulNodeAzureStrategyCapacityReservationArgs.builder()
.shouldUtilize(true)
.utilizationStrategy("utilizeOverOD")
.capacityReservationGroups(StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs.builder()
.crgName("crg name")
.crgResourceGroupName("resourceGroupName")
.crgShouldPrioritize(true)
.build())
.build())
.build())
.os("Linux")
.vmSizes(StatefulNodeAzureVmSizesArgs.builder()
.odSizes(
"standard_ds1_v2",
"standard_ds2_v2")
.spotSizes(
"standard_ds1_v2",
"standard_ds2_v2")
.preferredSpotSizes("standard_ds1_v2")
.excludedVmSizes("standard_ds2_v3")
.spotSizeAttributes(StatefulNodeAzureVmSizesSpotSizeAttributesArgs.builder()
.maxCpu(16)
.minCpu(2)
.maxMemory(48)
.minMemory(2)
.maxStorage(1000)
.minStorage(50)
.build())
.build())
.zones(
"1",
"3")
.preferredZone("1")
.customData("")
.shutdownScript("")
.userData("")
.vmName("VMName")
.vmNamePrefix("VMNamePrefix")
.licenseType("SLES_BYOS")
.bootDiagnostics(StatefulNodeAzureBootDiagnosticArgs.builder()
.isEnabled(true)
.storageUrl("https://.blob.core.windows.net/test")
.type("unmanaged")
.build())
.dataDisks(
StatefulNodeAzureDataDiskArgs.builder()
.sizeGb(1)
.lun(1)
.type("Standard_LRS")
.build(),
StatefulNodeAzureDataDiskArgs.builder()
.sizeGb(10)
.lun(2)
.type("Standard_LRS")
.build())
.extensions(StatefulNodeAzureExtensionArgs.builder()
.name("extensionName")
.type("customScript")
.publisher("Microsoft.Azure.Extensions")
.apiVersion("2.0")
.minorVersionAutoUpgrade(true)
.protectedSettings(Map.of("script", "IyEvYmluL2Jhc2gKZWNobyAibmlyIiA+IC9ob29uaXIudHh0Cg=="))
.publicSettings(Map.of("fileUris", "https://testspot/Azuretest.sh"))
.build())
.image(StatefulNodeAzureImageArgs.builder()
.marketplaceImages(StatefulNodeAzureImageMarketplaceImageArgs.builder()
.publisher("Canonical")
.offer("UbuntuServer")
.sku("16.04-LTS")
.version("latest")
.build())
.customImages(StatefulNodeAzureImageCustomImageArgs.builder()
.customImageResourceGroupName("resourceGroupName")
.name("imageName")
.build())
.galleries(StatefulNodeAzureImageGalleryArgs.builder()
.galleryResourceGroupName("resourceGroupName")
.galleryName("galleryName")
.imageName("imageName")
.versionName("1.1.0")
.spotAccountId("act-123456")
.build())
.build())
.loadBalancers(StatefulNodeAzureLoadBalancerArgs.builder()
.type("loadBalancer")
.resourceGroupName("testResourceGroup")
.name("testLoadBalancer")
.sku("Standard")
.backendPoolNames(
"testBackendPool1",
"testBackendPool2")
.build())
.login(StatefulNodeAzureLoginArgs.builder()
.userName("admin")
.sshPublicKey("33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==")
.build())
.managedServiceIdentities(StatefulNodeAzureManagedServiceIdentityArgs.builder()
.name("mySI2")
.resourceGroupName("myResourceGroup")
.build())
.network(StatefulNodeAzureNetworkArgs.builder()
.networkResourceGroupName("subnetResourceGroup")
.virtualNetworkName("vname")
.networkInterfaces(StatefulNodeAzureNetworkNetworkInterfaceArgs.builder()
.isPrimary(true)
.subnetName("testSubnet")
.assignPublicIp(true)
.publicIpSku("Standard")
.networkSecurityGroups(StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArgs.builder()
.networkResourceGroupName("test")
.name("test")
.build())
.enableIpForwarding(true)
.privateIpAddresses("172.23.4.20")
.additionalIpConfigurations(StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs.builder()
.name("test")
.privateIpAddressVersion("IPv4")
.build())
.publicIps(StatefulNodeAzureNetworkNetworkInterfacePublicIpArgs.builder()
.networkResourceGroupName("resourceGroup")
.name("test")
.build())
.applicationSecurityGroups(StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs.builder()
.networkResourceGroupName("AsgResourceGroup")
.name("AsgName")
.build())
.build())
.build())
.osDisk(StatefulNodeAzureOsDiskArgs.builder()
.sizeGb(30)
.type("Standard_LRS")
.caching("ReadOnly")
.build())
.secrets(StatefulNodeAzureSecretArgs.builder()
.sourceVaults(StatefulNodeAzureSecretSourceVaultArgs.builder()
.name("string")
.resourceGroupName("string")
.build())
.vaultCertificates(StatefulNodeAzureSecretVaultCertificateArgs.builder()
.certificateUrl("string")
.certificateStore("string")
.build())
.build())
.security(StatefulNodeAzureSecurityArgs.builder()
.securityType("ConfidentialVM")
.secureBootEnabled(true)
.vtpmEnabled(true)
.encryptionAtHost(false)
.confidentialOsDiskEncryption(true)
.build())
.tags(StatefulNodeAzureTagArgs.builder()
.tagKey("Creator")
.tagValue("string")
.build())
.health(StatefulNodeAzureHealthArgs.builder()
.healthCheckTypes("vmState")
.unhealthyDuration(300)
.gracePeriod(120)
.autoHealing(true)
.build())
.shouldPersistOsDisk(false)
.osDiskPersistenceMode("reattach")
.shouldPersistDataDisks(true)
.dataDisksPersistenceMode("reattach")
.shouldPersistNetwork(true)
.schedulingTasks(
StatefulNodeAzureSchedulingTaskArgs.builder()
.isEnabled(true)
.type("pause")
.cronExpression("44 10 * * *")
.build(),
StatefulNodeAzureSchedulingTaskArgs.builder()
.isEnabled(true)
.type("resume")
.cronExpression("48 10 * * *")
.build(),
StatefulNodeAzureSchedulingTaskArgs.builder()
.isEnabled(true)
.type("recycle")
.cronExpression("52 10 * * *")
.build())
.signals(
StatefulNodeAzureSignalArgs.builder()
.type("vmReady")
.timeout(20)
.build(),
StatefulNodeAzureSignalArgs.builder()
.type("vmReady")
.timeout(40)
.build())
.proximityPlacementGroups(StatefulNodeAzureProximityPlacementGroupArgs.builder()
.name("TestPPG")
.resourceGroupName("TestResourceGroup")
.build())
.deletes(StatefulNodeAzureDeleteArgs.builder()
.shouldTerminateVm(true)
.networkShouldDeallocate(true)
.networkTtlInHours(0)
.diskShouldDeallocate(true)
.diskTtlInHours(0)
.snapshotShouldDeallocate(true)
.snapshotTtlInHours(0)
.publicIpShouldDeallocate(true)
.publicIpTtlInHours(0)
.shouldDeregisterFromLb(true)
.shouldRevertToOd(false)
.build())
.build());
}
}
resources:
testStatefulNodeAzure:
type: spotinst:StatefulNodeAzure
name: test_stateful_node_azure
properties:
name: example_stateful_node_azure
region: eastus
resourceGroupName: spotinst-azure
description: example_stateful_node_azure_description
strategy:
drainingTimeout: 30
fallbackToOnDemand: true
optimizationWindows:
- Tue:19:46-Tue:20:46
odWindows:
- Wed:19:46-Wed:21:46
availabilityVsCost: 100
vmAdmins:
- UbuntuUser
- TestUser
revertToSpot:
performAt: timeWindow
preferredLifeCycle: od
capacityReservations:
- shouldUtilize: true
utilizationStrategy: utilizeOverOD
capacityReservationGroups:
- crgName: crg name
crgResourceGroupName: resourceGroupName
crgShouldPrioritize: true
os: Linux
vmSizes:
odSizes:
- standard_ds1_v2
- standard_ds2_v2
spotSizes:
- standard_ds1_v2
- standard_ds2_v2
preferredSpotSizes:
- standard_ds1_v2
excludedVmSizes:
- standard_ds2_v3
spotSizeAttributes:
maxCpu: 16
minCpu: 2
maxMemory: 48
minMemory: 2
maxStorage: 1000
minStorage: 50
zones:
- '1'
- '3'
preferredZone: '1'
customData: ""
shutdownScript: ""
userData: ""
vmName: VMName
vmNamePrefix: VMNamePrefix
licenseType: SLES_BYOS
bootDiagnostics:
- isEnabled: true
storageUrl: https://.blob.core.windows.net/test
type: unmanaged
dataDisks:
- sizeGb: 1
lun: 1
type: Standard_LRS
- sizeGb: 10
lun: 2
type: Standard_LRS
extensions:
- name: extensionName
type: customScript
publisher: Microsoft.Azure.Extensions
apiVersion: '2.0'
minorVersionAutoUpgrade: true
protectedSettings:
script: IyEvYmluL2Jhc2gKZWNobyAibmlyIiA+IC9ob29uaXIudHh0Cg==
publicSettings:
fileUris: https://testspot/Azuretest.sh
image:
marketplaceImages:
- publisher: Canonical
offer: UbuntuServer
sku: 16.04-LTS
version: latest
customImages:
- customImageResourceGroupName: resourceGroupName
name: imageName
galleries:
- galleryResourceGroupName: resourceGroupName
galleryName: galleryName
imageName: imageName
versionName: 1.1.0
spotAccountId: act-123456
loadBalancers:
- type: loadBalancer
resourceGroupName: testResourceGroup
name: testLoadBalancer
sku: Standard
backendPoolNames:
- testBackendPool1
- testBackendPool2
login:
userName: admin
sshPublicKey: 33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==
managedServiceIdentities:
- name: mySI2
resourceGroupName: myResourceGroup
network:
networkResourceGroupName: subnetResourceGroup
virtualNetworkName: vname
networkInterfaces:
- isPrimary: true
subnetName: testSubnet
assignPublicIp: true
publicIpSku: Standard
networkSecurityGroups:
- networkResourceGroupName: test
name: test
enableIpForwarding: true
privateIpAddresses:
- 172.23.4.20
additionalIpConfigurations:
- name: test
privateIpAddressVersion: IPv4
publicIps:
- networkResourceGroupName: resourceGroup
name: test
applicationSecurityGroups:
- networkResourceGroupName: AsgResourceGroup
name: AsgName
osDisk:
sizeGb: 30
type: Standard_LRS
caching: ReadOnly
secrets:
- sourceVaults:
- name: string
resourceGroupName: string
vaultCertificates:
- certificateUrl: string
certificateStore: string
security:
securityType: ConfidentialVM
secureBootEnabled: true
vtpmEnabled: true
encryptionAtHost: false
confidentialOsDiskEncryption: true
tags:
- tagKey: Creator
tagValue: string
health:
healthCheckTypes:
- vmState
unhealthyDuration: 300
gracePeriod: 120
autoHealing: true
shouldPersistOsDisk: false
osDiskPersistenceMode: reattach
shouldPersistDataDisks: true
dataDisksPersistenceMode: reattach
shouldPersistNetwork: true # --- SCHEDULING TASKS ----------------------------------------------
schedulingTasks:
- isEnabled: true
type: pause
cronExpression: 44 10 * * *
- isEnabled: true
type: resume
cronExpression: 48 10 * * *
- isEnabled: true
type: recycle
cronExpression: 52 10 * * *
signals:
- type: vmReady
timeout: 20
- type: vmReady
timeout: 40
proximityPlacementGroups:
- name: TestPPG
resourceGroupName: TestResourceGroup
deletes:
- shouldTerminateVm: true
networkShouldDeallocate: true
networkTtlInHours: 0
diskShouldDeallocate: true
diskTtlInHours: 0
snapshotShouldDeallocate: true
snapshotTtlInHours: 0
publicIpShouldDeallocate: true
publicIpTtlInHours: 0
shouldDeregisterFromLb: true
shouldRevertToOd: false
Argument Reference
The following arguments are supported:
name
- (Required) Azure stateful node name.region
- (Required) The Azure region your stateful node will be created in.resource_group_name
- (Required) Name of the Resource Group for stateful node.description
- (Optional) Describe your Azure stateful node.
Strategy
strategy
- (Required) Strategy for stateful node.draining_timeout
- (Optional, Default120
) Time (in seconds) to allow the VM be drained from incoming TCP connections and detached from MLB before terminating it during a scale down operation.availability_vs_cost
- (Optional) Set the desired preference for the Spot market VM selection. (100- Availability, 0- cost).fallback_to_on_demand
- (Required) In case of no spots available, Stateful Node will launch an On-demand instance instead.optimization_windows
- (Optional) Valid format: “ddd:hh:mm-ddd:hh:mm (day:hour(0-23):minute(0-59))”, not empty if revertToSpot.performAt = timeWindow.od_windows
- (Optional) Define the time windows in which the underlying VM will be set as an on-demand lifecycle type. During the entire time window, the rest of the strategy processes will be paused. Switching between on-demand and Spot VM types at the enter/exit of the time window will trigger the recycling of the stateful node. Valid format: “ddd:hh:mm-ddd:hh:mm (day:hour(0-23):minute(0-59))”.preferred_life_cycle
- (Optional, Enum"od", "spot"
, Default"spot"
) The desired type of VM.revert_to_spot
- (Optional) Hold settings for strategy correction - replacing On-Demand for Spot VMs.perform_at
- (Required, Enum"timeWindow", "never", "always"
, Default"always"
) Settings for maintenance strategy.
capacity_reservation
- (Optional) On-demand Capacity Reservation group enables you to reserve Compute capacity in an Azure region or an Availability Zone for any duration of time. CRG can only be created on the Azure end.should_utilize
- (Required) Determines whether capacity reservations should be utilized.utilization_strategy
- (Required, Enum"utilizeOverSpot", "utilizeOverOD"
) The priority requested for using CRG. This value will determine if CRG is used ahead of spot VMs or On-demand VMs. ("utilizeOverOD"
- If picked, we will use CRG only in case On demand should be launched."utilizeOverSpot"
- CRG will be preferred over Spot. Only after CRG is fully used, spot VMs can be used.)capacity_reservation_groups
- (Optional) List of the desired CRGs to use under the associated Azure subscription. When null we will utilize any available reservation that matches the launch specification.crg_name
- (Required) The name of the CRG.crg_resource_group_name
- (Required) Azure resource group namecrg_should_prioritize
- The desired CRG to utilize ahead of other CRGs in the subscription.
vm_admins
- (Optional) Defines Azure identities that are considered VM admins. If the list is empty, the defined behavior isNONE
, If the list is null, the defined behavior isALL
. This applies if the object is not defined. If an identity contains the string, it will be considered permitted to perform the following actions: Stop VM: VM admins can move the VM to a “stopped (deallocated)” state using the Azure console. If triggered by someone else, it is considered an interruption.
Compute
os
- (Required, Enum"Linux", "Windows"
) Type of operating system.vm_sizes
- (Required) Defines the VM sizes to use when launching VMs.od_sizes
- (Required) Available On-Demand sizes.spot_sizes
- (Optional) Available Spot-VM sizes. Required if spotSizeAttributes isn’t specified.preferred_spot_sizes
- (Optional) Prioritize Spot VM sizes when launching Spot VMs for the group. If set, must be a sublist of compute.vmSizes.spotSizes.excluded_vm_sizes
- (Optional) Defines the VM sizes to exclude when defining spot types with spotSizeAttributes.spot_size_attributes
- (Optional) Defines values and ranges for attributes of the spot sizes to use when launching VMs. Required if spotSizes isn’t specified.max_cpu
- (Optional) Maximum amount of vCPU units.min_cpu
- (Optional) Minimum amount of vCPU units.max_memory
- (Optional) Maximum amount of memory in GiB.min_memory
- (Optional) Minimum amount of memory in GiB.max_storage
- (Optional) Maximum amount of storage in GiB.min_storage
- (optional) Minimum amount of storage in GiB.
zones
- (Optional, Enum"1", "2", "3"
) List of Azure Availability Zones in the defined region. If not defined, Virtual machines will be launched regionally.preferred_zone
- (Optional, Enum"1", "2", "3"
) The AZ to prioritize when launching VMs. If no markets are available in the Preferred AZ, VMs are launched in the non-preferred AZ. Must be a sublist of compute.zones.custom_data
- (Optional) This value will hold the YAML in base64 and will be executed upon VM launch.shutdown_script
- (Optional) Shutdown script for the stateful node. Value should be passed as a string encoded at Base64 only.user_data
- (Optional) Define a set of scripts or other metadata that’s inserted to an Azure virtual machine at provision time. (Base64 encoded)vm_name
- (Optional) Set a VM name that will be persisted throughout the entire node lifecycle. This can’t be set ifvm_name_prefix
is set.vm_name_prefix
- (Optional) Set a VM name prefix to be used for all launched VMs and the VM resources. This can’t be set ifvm_name
is set.license_type
- (Optional) Specify an existing Azure license type to use when launching new VMs. Valid values for Windows OS: “Windows_Server”, “Windows_Client”, Valid values for Linux OS: “RHEL_BYOS”, “SLES_BYOS”
Boot Diagnostics
boot_diagnostics
is_enabled
- (Optional) Allows you to enable and disable the configuration of boot diagnostics at launch.storage_url
- (Optional) The storage URI that is used if a type is unmanaged. The storage URI must follow the blob storage URI format (“https://.blob.core.windows.net/”). StorageUri is required if the type is unmanaged. StorageUri must be ‘null’ in case the boot diagnostics type is managed.type
- (Optional, Enum"managed", "unmanaged"
) Defines the storage type on VM launch in Azure.
Data Disks
data_disk
- (Optional) The definitions of data disks that will be created and attached to the stateful node’s VM.size_gb
- (Required) The size of the data disk in GB, required if dataDisks is specified.lun
- (Required) The LUN of the data disk.type
- (Required, Enum"Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS"
) The type of the data disk.
Extensions
extension
- (Optional) An object for an azure extension.name
- (Required) Required on compute.launchSpecification.extensions object.type
- (Required) Required on compute.launchSpecification.extensions object.publisher
- (Required) Required on compute.launchSpecification.extensions object.api_version
- (Required) The API version of the extension. Required if extension specified.minor_version_auto_upgrade
- (Required) Required on compute.launchSpecification.extensions object.protected_settings
- (Optional) Object for protected settings.public_settings
- (Optional) Object for public settings.
Image
image
marketplace_image
- (Optional) Select an image from Azure’s Marketplace image catalogue. Required if the custom image or gallery image are not specified.publisher
- (Required) Image publisher.offer
- (Required) Image offer.sku
- (Required) Image Stock Keeping Unit, which is the specific version of the image.version
- (Required, Default"latest"
) Image’s version. if version not provided we use “latest”.
gallery
- (Optional) Gallery image definitions. Required if custom image or marketplace image are not specified.gallery_resource_group_name
- (Required) The resource group name for gallery image.gallery_name
- (Required) Name of the gallery.image_name
- (Required) Name of the gallery image.version_name
- (Required) Image’s version. Can be in the format x.x.x or ’latest'.spot_account_id
- (Optional) The Spot account ID that connected to the Azure subscription to which the gallery belongs. Relevant only in case of cross-subscription shared galleries. Read more about cross-subscription shared galleries in Elastigroup.
custom_image
- (Optional) Custom image definitions. Required if marketplace image or gallery image are not specified.custom_image_resource_group_name
- (Required) The resource group name for custom image.name
- (Required) The name of the custom image.
Load Balancer
load_balancer
- (Optional) Add a load balancer. For Azure Gateway, each Backend Pool is a separate load balancer.type
- (Required, Enum"loadBalancer", "applicationGateway"
) The type of load balancer.resource_group_name
- (Required) The Resource Group name of the Load Balancer.name
- (Required) Name of the Application Gateway/Load Balancer.sku
- (Optional)- if type is
"LoadBalancer"
then possible values are“Standard", "Basic”
. - If ApplicationGateway then possible values are
“Standard_Large”, “Standard_Medium”, “Standard_Small”, “Standard_v2", “WAF_Large”, “WAF_Medium", “WAF_v2"
.
- if type is
backend_pool_names
- (Optional) Name of the Backend Pool to register the Stateful Node VMs to. Each Backend Pool is a separate load balancer. Required if Type is APPLICATION_GATEWAY.
Login
login
- (Required) Set admin access for accessing your VMs. Password/SSH is required for Linux.user_name
- (Required) username for admin access to VMs.ssh_public_key
- (Optional) SSH for admin access to Linux VMs. Optional for Linux.password
- (Optional) Password for admin access to Windows VMs. Required for Windows.
Managed Service Identities
managed_service_identities
- (Optional) Add a user-assigned managed identity to the Stateful Node’s VM.name
- (Required) name of the managed identity.resource_group_name
- (Required) The Resource Group that the user-assigned managed identity resides in.
Proximity Placement Groups
proximity_placement_groups
- (Optional) Defines the proximity placement group in which the VM will be launched.name
- (Required) name of the proximity placement group.resource_group_name
- (Required) The Resource Group name of the proximity placement group.
Network
network
- (Required) Define the Virtual Network and Subnet for your Stateful Node.network_resource_group_name
- (Required) Vnet Resource Group Name.virtual_network_name
- (Required) Virtual Network.network_interface
- (Required) Define a network interfaceis_primary
- (Required) Defines whether the network interface is primary or not.subnet_name
- (Required) Subnet name.assign_public_ip
- (Optional) Assign public IP.public_ip_sku
- (Optional) Required if assignPublicIp=true values=[Standard/Basic].network_security_group
- (Optional) Network Security Group.network_resource_group_name
- (Required) Requires valid security group name.name
- (Required) Requires valid resource group name.
enable_ip_forwarding
- (Optional) Enable IP Forwarding.private_ip_addresses
- (Optional) A list with unique items that every item is a valid IP.additional_ip_configurations
- (Optional) Additional configuration of network interface.name
- (Required) Configuration name.private_ip_address_version
- (Required, Enum"IPv4", "IPv6"
Default"IPv4"
) Version of the private IP address.
public_ips
- (Optional) Defined a pool of Public Ips (from Azure), that will be associated to the network interface. We will associate one public ip per instance until the pool is exhausted, in which case, we will create a new one.resource_group_name
- (Required) The resource group of the public ip.name
- (Required) - The name of the public ip.
application_security_groups
- (Optional) Network Security Group.resource_group_name
- (Required) Requires valid security group name.name
- (Required) Requires valid resource group name.
OS Disk
os_disk
- (Optional) Specify OS disk specification other than default.size_gb
- (Optional, Default"30"
) The size of the data disk in GB.type
- (Required, Enum"Standard_LRS", "Premium_LRS", "StandardSSD_LRS"
) The type of the OS disk.caching
- (Optional, Enum"None", "ReadOnly", "ReadWrite"
) Specifies the host caching requirements. With disk caching enabled, VMs can achieve higher levels of performance. If not specified, the Azure default behavior will be applied.
Secret
secret
- (Optional) Set of certificates that should be installed on the VM.source_vault
- (Required) The key vault reference, contains the required certificates.name
- (Required) The name of the key vault.resource_group_name
- (Required) The resource group name of the key vault.
vault_certificates
- (Required) The required certificate references.certificate_url
- (Optional) The URL of the certificate under the key vault.certificate_store
- (Required) The certificate store directory the VM. The directory is created in the LocalMachine account.- This field is required only when using Windows OS type
- This field must be ‘null’ when the OS type is Linux
Security
security
- (Optional) Specifies the Security related profile settings for the virtual machine.secure_boot_enabled
- (Optional) Specifies whether secure boot should be enabled on the virtual machine.security_type
- (Optional) Enum:"Standard", "TrustedLaunch", "ConfidentialVM"
Security type refers to the different security features of a virtual machine. Security features like Trusted launch virtual machines help to improve the security of Azure generation 2 virtual machines.vtpm_enabled
- (Optional) Specifies whether vTPM should be enabled on the virtual machine.encryption_at_host
- (Optional) Enables the Host Encryption for the virtual machine. The Encryption at host will be disabled unless this property is set to true for the resource.confidential_os_disk_encryption
- (Optional) Confidential disk encryption binds the disk encryption keys to the VM’s TPM, ensuring VM-only access. The security type must be “ConfidentialVM” to enable defining this preference as “true”.
Tag
tag
- (Optional) Unique Key-Value pair for all Stateful Node Resources.tag_key
- (Optional) Tag Key for Stateful Node Resources.tag_value
- (Optional) Tag Value for Stateful Node Resources.
Health
health
- (Optional) Set the auto healing preferences for unhealthy VMs.health_check_types
- (Optional, Enum"vmState", "applicationGateway"
) Healthcheck to use to validate VM health.unhealthy_duration
- (Optional) Amount of time to be unhealthy before a replacement is triggered.auto_healing
- (Required) Enable Autohealing of unhealthy VMs.grace_period
- (Optional) Period of time to wait for VM to reach healthiness before monitoring for unhealthiness.
Persistence
should_persist_os_disk
- (Required) Should persist os disk.os_disk_persistence_mode
- (Optional, Enum"reattach", "onLaunch"
)should_persist_data_disks
- (Required) Should persist data disks.data_disks_persistence_mode
- (Optional, Enum"reattach", "onLaunch"
)should_persist_network
- (Required) Should persist network.
Scheduling Tasks
scheduling_task
- (Optional) Scheduling settings object for stateful node.is_enabled
- (Required) Is scheduled task enabled for stateful node.type
- (Required, Enum `“pause”, “resume”, “recycle”) The type of the scheduled taskcron_expression
(Required) A expression which describes when to execute the scheduled task (UTC).
Signals
signal
- (Optional) A signal object defined for the stateful node.type
- (Required, Enum"vmReady", "vmReadyToShutdown"
) The type of the signal defined for the stateful node.timeout
- (Required, Default"1800"
) The timeout in seconds to hold the vm until a signal is sent. If no signal is sent the vm will be replaced (vmReady) or we will terminate the vm (vmReadyToShutdown) after the timeout.
Attach Data Disk
attach_data_disk
- (Optional) Create a new data disk and attach it to the stateful node.data_disk_name
- (Required) The name of the created data disk.data_disk_resource_group_name
- (Required) The resource group name in which the data disk will be created.storage_account_type
- (Required, Enum"Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS"
) The type of the data disk.size_gb
- (Required) The size of the data disk in GB, Required if dataDisks is specified.zone
- (Optional, Enum"1", "2", "3"
) The Availability Zone in which the data disk will be created. If not defined, the data disk will be created regionally.lun
- (Optional, Default"orginal"
) The LUN of the data disk. If not defined, the LUN will be set in order.
Detach Data Disk
detach_data_disk
- (Optional) Detach a data disk from a stateful node.data_disk_name
- (Required) The name of the detached data disk.data_disk_resource_group_name
- (Required) The resource group name in which the data disk exists.should_deallocate
- (Required) Indicates whether to delete the data disk in addition to detach.ttl_in_hours
- (Required, Default"0"
) Hours to keep the disk alive before deletion.
Update State
update_state
- (Optional) Update the stateful node state.state
- (Required, Enum"pause", "resume", "recycle"
) New state for the stateful node.
Import VM
import_vm
- (Optional) Import an Azure VM and create a stateful node by providing a node configuration.resource_group_name
- (Required) Name of the Resource Group for Stateful Node.original_vm_name
- (Required) Azure Import Stateful Node Name.draining_timeout
- (Optional) Hours to keep resources alive.resources_retention_time
- (Optional) Hours to keep resources alive.
Deallocation Config
delete
- (Required) Specify deallocation parameters for stateful node deletion.should_terminate_vm
- (Required) Indicates whether to delete the stateful node’s VM.network_should_deallocate
- (Optional) Indicates whether to delete the stateful node’s network resources.network_ttl_in_hours
- (Optional, Default: 96) Hours to keep the network resource alive before deletion.disk_should_deallocate
- (Optional) Indicates whether to delete the stateful node’s disk resources.disk_ttl_in_hours
- (Optional, Default: 96) Hours to keep the disk resource alive before deletion.snapshot_should_deallocate
- (Optional) Indicates whether to delete the stateful node’s snapshot resources.snapshot_ttl_in_hours
- (Optional, Default: 96) Hours to keep the snapshots alive before deletion.public_ip_should_deallocate
- (Optional) Indicates whether to delete the stateful node’s public ip resources.public_ip_ttl_in_hours
- (Optional, Default: 96) Hours to keep the public ip alive before deletion.should_deregister_from_lb
- (Optional, Default: true) Indicates whether to deregister the stateful node’s VM from any type of load balancer. Can be changed to false only when shouldTerminateVms is ‘false’.should_revert_to_od
- (Optional, Default: false) Indicates whether to change the stateful node’s VM lifecycle to on-demand. Can be changed to true only whenshould_terminate_vm
is ‘false’.
Create StatefulNodeAzure Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new StatefulNodeAzure(name: string, args: StatefulNodeAzureArgs, opts?: CustomResourceOptions);
@overload
def StatefulNodeAzure(resource_name: str,
args: StatefulNodeAzureArgs,
opts: Optional[ResourceOptions] = None)
@overload
def StatefulNodeAzure(resource_name: str,
opts: Optional[ResourceOptions] = None,
os: Optional[str] = None,
vm_sizes: Optional[StatefulNodeAzureVmSizesArgs] = None,
strategy: Optional[StatefulNodeAzureStrategyArgs] = None,
should_persist_os_disk: Optional[bool] = None,
should_persist_network: Optional[bool] = None,
should_persist_data_disks: Optional[bool] = None,
resource_group_name: Optional[str] = None,
region: Optional[str] = None,
image: Optional[StatefulNodeAzureImageArgs] = None,
scheduling_tasks: Optional[Sequence[StatefulNodeAzureSchedulingTaskArgs]] = None,
attach_data_disks: Optional[Sequence[StatefulNodeAzureAttachDataDiskArgs]] = None,
import_vms: Optional[Sequence[StatefulNodeAzureImportVmArgs]] = None,
license_type: Optional[str] = None,
load_balancers: Optional[Sequence[StatefulNodeAzureLoadBalancerArgs]] = None,
login: Optional[StatefulNodeAzureLoginArgs] = None,
managed_service_identities: Optional[Sequence[StatefulNodeAzureManagedServiceIdentityArgs]] = None,
name: Optional[str] = None,
network: Optional[StatefulNodeAzureNetworkArgs] = None,
extensions: Optional[Sequence[StatefulNodeAzureExtensionArgs]] = None,
os_disk: Optional[StatefulNodeAzureOsDiskArgs] = None,
os_disk_persistence_mode: Optional[str] = None,
preferred_zone: Optional[str] = None,
proximity_placement_groups: Optional[Sequence[StatefulNodeAzureProximityPlacementGroupArgs]] = None,
detach_data_disks: Optional[Sequence[StatefulNodeAzureDetachDataDiskArgs]] = None,
description: Optional[str] = None,
health: Optional[StatefulNodeAzureHealthArgs] = None,
secrets: Optional[Sequence[StatefulNodeAzureSecretArgs]] = None,
security: Optional[StatefulNodeAzureSecurityArgs] = None,
deletes: Optional[Sequence[StatefulNodeAzureDeleteArgs]] = None,
data_disks_persistence_mode: Optional[str] = None,
data_disks: Optional[Sequence[StatefulNodeAzureDataDiskArgs]] = None,
should_persist_vm: Optional[bool] = None,
shutdown_script: Optional[str] = None,
signals: Optional[Sequence[StatefulNodeAzureSignalArgs]] = None,
custom_data: Optional[str] = None,
tags: Optional[Sequence[StatefulNodeAzureTagArgs]] = None,
update_states: Optional[Sequence[StatefulNodeAzureUpdateStateArgs]] = None,
user_data: Optional[str] = None,
vm_name: Optional[str] = None,
vm_name_prefix: Optional[str] = None,
boot_diagnostics: Optional[Sequence[StatefulNodeAzureBootDiagnosticArgs]] = None,
zones: Optional[Sequence[str]] = None)
func NewStatefulNodeAzure(ctx *Context, name string, args StatefulNodeAzureArgs, opts ...ResourceOption) (*StatefulNodeAzure, error)
public StatefulNodeAzure(string name, StatefulNodeAzureArgs args, CustomResourceOptions? opts = null)
public StatefulNodeAzure(String name, StatefulNodeAzureArgs args)
public StatefulNodeAzure(String name, StatefulNodeAzureArgs args, CustomResourceOptions options)
type: spotinst:StatefulNodeAzure
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name
This property is required. string - The unique name of the resource.
- args
This property is required. StatefulNodeAzureArgs - The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name
This property is required. str - The unique name of the resource.
- args
This property is required. StatefulNodeAzureArgs - The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name
This property is required. string - The unique name of the resource.
- args
This property is required. StatefulNodeAzureArgs - The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name
This property is required. string - The unique name of the resource.
- args
This property is required. StatefulNodeAzureArgs - The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name
This property is required. String - The unique name of the resource.
- args
This property is required. StatefulNodeAzureArgs - The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var statefulNodeAzureResource = new SpotInst.StatefulNodeAzure("statefulNodeAzureResource", new()
{
Os = "string",
VmSizes = new SpotInst.Inputs.StatefulNodeAzureVmSizesArgs
{
OdSizes = new[]
{
"string",
},
ExcludedVmSizes = new[]
{
"string",
},
PreferredSpotSizes = new[]
{
"string",
},
SpotSizeAttributes = new SpotInst.Inputs.StatefulNodeAzureVmSizesSpotSizeAttributesArgs
{
MaxCpu = 0,
MaxMemory = 0,
MaxStorage = 0,
MinCpu = 0,
MinMemory = 0,
MinStorage = 0,
},
SpotSizes = new[]
{
"string",
},
},
Strategy = new SpotInst.Inputs.StatefulNodeAzureStrategyArgs
{
FallbackToOnDemand = false,
AvailabilityVsCost = 0,
CapacityReservations = new[]
{
new SpotInst.Inputs.StatefulNodeAzureStrategyCapacityReservationArgs
{
ShouldUtilize = false,
UtilizationStrategy = "string",
CapacityReservationGroups = new[]
{
new SpotInst.Inputs.StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs
{
CrgName = "string",
CrgResourceGroupName = "string",
CrgShouldPrioritize = false,
},
},
},
},
DrainingTimeout = 0,
OdWindows = new[]
{
"string",
},
OptimizationWindows = new[]
{
"string",
},
PreferredLifeCycle = "string",
RevertToSpot = new SpotInst.Inputs.StatefulNodeAzureStrategyRevertToSpotArgs
{
PerformAt = "string",
},
VmAdmins = new[]
{
"string",
},
},
ShouldPersistOsDisk = false,
ShouldPersistNetwork = false,
ShouldPersistDataDisks = false,
ResourceGroupName = "string",
Region = "string",
Image = new SpotInst.Inputs.StatefulNodeAzureImageArgs
{
CustomImages = new[]
{
new SpotInst.Inputs.StatefulNodeAzureImageCustomImageArgs
{
CustomImageResourceGroupName = "string",
Name = "string",
},
},
Galleries = new[]
{
new SpotInst.Inputs.StatefulNodeAzureImageGalleryArgs
{
GalleryName = "string",
GalleryResourceGroupName = "string",
ImageName = "string",
VersionName = "string",
SpotAccountId = "string",
},
},
MarketplaceImages = new[]
{
new SpotInst.Inputs.StatefulNodeAzureImageMarketplaceImageArgs
{
Offer = "string",
Publisher = "string",
Sku = "string",
Version = "string",
},
},
},
SchedulingTasks = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSchedulingTaskArgs
{
CronExpression = "string",
IsEnabled = false,
Type = "string",
},
},
AttachDataDisks = new[]
{
new SpotInst.Inputs.StatefulNodeAzureAttachDataDiskArgs
{
DataDiskName = "string",
DataDiskResourceGroupName = "string",
SizeGb = 0,
StorageAccountType = "string",
Lun = 0,
Zone = "string",
},
},
ImportVms = new[]
{
new SpotInst.Inputs.StatefulNodeAzureImportVmArgs
{
OriginalVmName = "string",
ResourceGroupName = "string",
DrainingTimeout = 0,
ResourcesRetentionTime = 0,
},
},
LicenseType = "string",
LoadBalancers = new[]
{
new SpotInst.Inputs.StatefulNodeAzureLoadBalancerArgs
{
BackendPoolNames = new[]
{
"string",
},
Name = "string",
ResourceGroupName = "string",
Type = "string",
Sku = "string",
},
},
Login = new SpotInst.Inputs.StatefulNodeAzureLoginArgs
{
UserName = "string",
Password = "string",
SshPublicKey = "string",
},
ManagedServiceIdentities = new[]
{
new SpotInst.Inputs.StatefulNodeAzureManagedServiceIdentityArgs
{
Name = "string",
ResourceGroupName = "string",
},
},
Name = "string",
Network = new SpotInst.Inputs.StatefulNodeAzureNetworkArgs
{
NetworkInterfaces = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfaceArgs
{
IsPrimary = false,
SubnetName = "string",
AdditionalIpConfigurations = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs
{
Name = "string",
PrivateIpAddressVersion = "string",
},
},
ApplicationSecurityGroups = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs
{
Name = "string",
NetworkResourceGroupName = "string",
},
},
AssignPublicIp = false,
EnableIpForwarding = false,
NetworkSecurityGroups = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArgs
{
Name = "string",
NetworkResourceGroupName = "string",
},
},
PrivateIpAddresses = new[]
{
"string",
},
PublicIpSku = "string",
PublicIps = new[]
{
new SpotInst.Inputs.StatefulNodeAzureNetworkNetworkInterfacePublicIpArgs
{
Name = "string",
NetworkResourceGroupName = "string",
},
},
},
},
NetworkResourceGroupName = "string",
VirtualNetworkName = "string",
},
Extensions = new[]
{
new SpotInst.Inputs.StatefulNodeAzureExtensionArgs
{
ApiVersion = "string",
MinorVersionAutoUpgrade = false,
Name = "string",
Publisher = "string",
Type = "string",
ProtectedSettings =
{
{ "string", "string" },
},
PublicSettings =
{
{ "string", "string" },
},
},
},
OsDisk = new SpotInst.Inputs.StatefulNodeAzureOsDiskArgs
{
Type = "string",
Caching = "string",
SizeGb = 0,
},
OsDiskPersistenceMode = "string",
PreferredZone = "string",
ProximityPlacementGroups = new[]
{
new SpotInst.Inputs.StatefulNodeAzureProximityPlacementGroupArgs
{
Name = "string",
ResourceGroupName = "string",
},
},
DetachDataDisks = new[]
{
new SpotInst.Inputs.StatefulNodeAzureDetachDataDiskArgs
{
DataDiskName = "string",
DataDiskResourceGroupName = "string",
ShouldDeallocate = false,
TtlInHours = 0,
},
},
Description = "string",
Health = new SpotInst.Inputs.StatefulNodeAzureHealthArgs
{
AutoHealing = false,
HealthCheckTypes = new[]
{
"string",
},
GracePeriod = 0,
UnhealthyDuration = 0,
},
Secrets = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSecretArgs
{
SourceVaults = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSecretSourceVaultArgs
{
Name = "string",
ResourceGroupName = "string",
},
},
VaultCertificates = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSecretVaultCertificateArgs
{
CertificateStore = "string",
CertificateUrl = "string",
},
},
},
},
Security = new SpotInst.Inputs.StatefulNodeAzureSecurityArgs
{
ConfidentialOsDiskEncryption = false,
EncryptionAtHost = false,
SecureBootEnabled = false,
SecurityType = "string",
VtpmEnabled = false,
},
Deletes = new[]
{
new SpotInst.Inputs.StatefulNodeAzureDeleteArgs
{
ShouldTerminateVm = false,
DiskShouldDeallocate = false,
DiskTtlInHours = 0,
NetworkShouldDeallocate = false,
NetworkTtlInHours = 0,
PublicIpShouldDeallocate = false,
PublicIpTtlInHours = 0,
ShouldDeregisterFromLb = false,
ShouldRevertToOd = false,
SnapshotShouldDeallocate = false,
SnapshotTtlInHours = 0,
},
},
DataDisksPersistenceMode = "string",
DataDisks = new[]
{
new SpotInst.Inputs.StatefulNodeAzureDataDiskArgs
{
Lun = 0,
SizeGb = 0,
Type = "string",
},
},
ShouldPersistVm = false,
ShutdownScript = "string",
Signals = new[]
{
new SpotInst.Inputs.StatefulNodeAzureSignalArgs
{
Timeout = 0,
Type = "string",
},
},
CustomData = "string",
Tags = new[]
{
new SpotInst.Inputs.StatefulNodeAzureTagArgs
{
TagKey = "string",
TagValue = "string",
},
},
UpdateStates = new[]
{
new SpotInst.Inputs.StatefulNodeAzureUpdateStateArgs
{
State = "string",
},
},
UserData = "string",
VmName = "string",
VmNamePrefix = "string",
BootDiagnostics = new[]
{
new SpotInst.Inputs.StatefulNodeAzureBootDiagnosticArgs
{
IsEnabled = false,
StorageUrl = "string",
Type = "string",
},
},
Zones = new[]
{
"string",
},
});
example, err := spotinst.NewStatefulNodeAzure(ctx, "statefulNodeAzureResource", &spotinst.StatefulNodeAzureArgs{
Os: pulumi.String("string"),
VmSizes: &spotinst.StatefulNodeAzureVmSizesArgs{
OdSizes: pulumi.StringArray{
pulumi.String("string"),
},
ExcludedVmSizes: pulumi.StringArray{
pulumi.String("string"),
},
PreferredSpotSizes: pulumi.StringArray{
pulumi.String("string"),
},
SpotSizeAttributes: &spotinst.StatefulNodeAzureVmSizesSpotSizeAttributesArgs{
MaxCpu: pulumi.Int(0),
MaxMemory: pulumi.Int(0),
MaxStorage: pulumi.Int(0),
MinCpu: pulumi.Int(0),
MinMemory: pulumi.Int(0),
MinStorage: pulumi.Int(0),
},
SpotSizes: pulumi.StringArray{
pulumi.String("string"),
},
},
Strategy: &spotinst.StatefulNodeAzureStrategyArgs{
FallbackToOnDemand: pulumi.Bool(false),
AvailabilityVsCost: pulumi.Int(0),
CapacityReservations: spotinst.StatefulNodeAzureStrategyCapacityReservationArray{
&spotinst.StatefulNodeAzureStrategyCapacityReservationArgs{
ShouldUtilize: pulumi.Bool(false),
UtilizationStrategy: pulumi.String("string"),
CapacityReservationGroups: spotinst.StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArray{
&spotinst.StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs{
CrgName: pulumi.String("string"),
CrgResourceGroupName: pulumi.String("string"),
CrgShouldPrioritize: pulumi.Bool(false),
},
},
},
},
DrainingTimeout: pulumi.Int(0),
OdWindows: pulumi.StringArray{
pulumi.String("string"),
},
OptimizationWindows: pulumi.StringArray{
pulumi.String("string"),
},
PreferredLifeCycle: pulumi.String("string"),
RevertToSpot: &spotinst.StatefulNodeAzureStrategyRevertToSpotArgs{
PerformAt: pulumi.String("string"),
},
VmAdmins: pulumi.StringArray{
pulumi.String("string"),
},
},
ShouldPersistOsDisk: pulumi.Bool(false),
ShouldPersistNetwork: pulumi.Bool(false),
ShouldPersistDataDisks: pulumi.Bool(false),
ResourceGroupName: pulumi.String("string"),
Region: pulumi.String("string"),
Image: &spotinst.StatefulNodeAzureImageArgs{
CustomImages: spotinst.StatefulNodeAzureImageCustomImageArray{
&spotinst.StatefulNodeAzureImageCustomImageArgs{
CustomImageResourceGroupName: pulumi.String("string"),
Name: pulumi.String("string"),
},
},
Galleries: spotinst.StatefulNodeAzureImageGalleryArray{
&spotinst.StatefulNodeAzureImageGalleryArgs{
GalleryName: pulumi.String("string"),
GalleryResourceGroupName: pulumi.String("string"),
ImageName: pulumi.String("string"),
VersionName: pulumi.String("string"),
SpotAccountId: pulumi.String("string"),
},
},
MarketplaceImages: spotinst.StatefulNodeAzureImageMarketplaceImageArray{
&spotinst.StatefulNodeAzureImageMarketplaceImageArgs{
Offer: pulumi.String("string"),
Publisher: pulumi.String("string"),
Sku: pulumi.String("string"),
Version: pulumi.String("string"),
},
},
},
SchedulingTasks: spotinst.StatefulNodeAzureSchedulingTaskArray{
&spotinst.StatefulNodeAzureSchedulingTaskArgs{
CronExpression: pulumi.String("string"),
IsEnabled: pulumi.Bool(false),
Type: pulumi.String("string"),
},
},
AttachDataDisks: spotinst.StatefulNodeAzureAttachDataDiskArray{
&spotinst.StatefulNodeAzureAttachDataDiskArgs{
DataDiskName: pulumi.String("string"),
DataDiskResourceGroupName: pulumi.String("string"),
SizeGb: pulumi.Int(0),
StorageAccountType: pulumi.String("string"),
Lun: pulumi.Int(0),
Zone: pulumi.String("string"),
},
},
ImportVms: spotinst.StatefulNodeAzureImportVmArray{
&spotinst.StatefulNodeAzureImportVmArgs{
OriginalVmName: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
DrainingTimeout: pulumi.Int(0),
ResourcesRetentionTime: pulumi.Int(0),
},
},
LicenseType: pulumi.String("string"),
LoadBalancers: spotinst.StatefulNodeAzureLoadBalancerArray{
&spotinst.StatefulNodeAzureLoadBalancerArgs{
BackendPoolNames: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
Type: pulumi.String("string"),
Sku: pulumi.String("string"),
},
},
Login: &spotinst.StatefulNodeAzureLoginArgs{
UserName: pulumi.String("string"),
Password: pulumi.String("string"),
SshPublicKey: pulumi.String("string"),
},
ManagedServiceIdentities: spotinst.StatefulNodeAzureManagedServiceIdentityArray{
&spotinst.StatefulNodeAzureManagedServiceIdentityArgs{
Name: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
},
},
Name: pulumi.String("string"),
Network: &spotinst.StatefulNodeAzureNetworkArgs{
NetworkInterfaces: spotinst.StatefulNodeAzureNetworkNetworkInterfaceArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfaceArgs{
IsPrimary: pulumi.Bool(false),
SubnetName: pulumi.String("string"),
AdditionalIpConfigurations: spotinst.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs{
Name: pulumi.String("string"),
PrivateIpAddressVersion: pulumi.String("string"),
},
},
ApplicationSecurityGroups: spotinst.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs{
Name: pulumi.String("string"),
NetworkResourceGroupName: pulumi.String("string"),
},
},
AssignPublicIp: pulumi.Bool(false),
EnableIpForwarding: pulumi.Bool(false),
NetworkSecurityGroups: spotinst.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArgs{
Name: pulumi.String("string"),
NetworkResourceGroupName: pulumi.String("string"),
},
},
PrivateIpAddresses: pulumi.StringArray{
pulumi.String("string"),
},
PublicIpSku: pulumi.String("string"),
PublicIps: spotinst.StatefulNodeAzureNetworkNetworkInterfacePublicIpArray{
&spotinst.StatefulNodeAzureNetworkNetworkInterfacePublicIpArgs{
Name: pulumi.String("string"),
NetworkResourceGroupName: pulumi.String("string"),
},
},
},
},
NetworkResourceGroupName: pulumi.String("string"),
VirtualNetworkName: pulumi.String("string"),
},
Extensions: spotinst.StatefulNodeAzureExtensionArray{
&spotinst.StatefulNodeAzureExtensionArgs{
ApiVersion: pulumi.String("string"),
MinorVersionAutoUpgrade: pulumi.Bool(false),
Name: pulumi.String("string"),
Publisher: pulumi.String("string"),
Type: pulumi.String("string"),
ProtectedSettings: pulumi.StringMap{
"string": pulumi.String("string"),
},
PublicSettings: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
OsDisk: &spotinst.StatefulNodeAzureOsDiskArgs{
Type: pulumi.String("string"),
Caching: pulumi.String("string"),
SizeGb: pulumi.Int(0),
},
OsDiskPersistenceMode: pulumi.String("string"),
PreferredZone: pulumi.String("string"),
ProximityPlacementGroups: spotinst.StatefulNodeAzureProximityPlacementGroupArray{
&spotinst.StatefulNodeAzureProximityPlacementGroupArgs{
Name: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
},
},
DetachDataDisks: spotinst.StatefulNodeAzureDetachDataDiskArray{
&spotinst.StatefulNodeAzureDetachDataDiskArgs{
DataDiskName: pulumi.String("string"),
DataDiskResourceGroupName: pulumi.String("string"),
ShouldDeallocate: pulumi.Bool(false),
TtlInHours: pulumi.Int(0),
},
},
Description: pulumi.String("string"),
Health: &spotinst.StatefulNodeAzureHealthArgs{
AutoHealing: pulumi.Bool(false),
HealthCheckTypes: pulumi.StringArray{
pulumi.String("string"),
},
GracePeriod: pulumi.Int(0),
UnhealthyDuration: pulumi.Int(0),
},
Secrets: spotinst.StatefulNodeAzureSecretArray{
&spotinst.StatefulNodeAzureSecretArgs{
SourceVaults: spotinst.StatefulNodeAzureSecretSourceVaultArray{
&spotinst.StatefulNodeAzureSecretSourceVaultArgs{
Name: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
},
},
VaultCertificates: spotinst.StatefulNodeAzureSecretVaultCertificateArray{
&spotinst.StatefulNodeAzureSecretVaultCertificateArgs{
CertificateStore: pulumi.String("string"),
CertificateUrl: pulumi.String("string"),
},
},
},
},
Security: &spotinst.StatefulNodeAzureSecurityArgs{
ConfidentialOsDiskEncryption: pulumi.Bool(false),
EncryptionAtHost: pulumi.Bool(false),
SecureBootEnabled: pulumi.Bool(false),
SecurityType: pulumi.String("string"),
VtpmEnabled: pulumi.Bool(false),
},
Deletes: spotinst.StatefulNodeAzureDeleteArray{
&spotinst.StatefulNodeAzureDeleteArgs{
ShouldTerminateVm: pulumi.Bool(false),
DiskShouldDeallocate: pulumi.Bool(false),
DiskTtlInHours: pulumi.Int(0),
NetworkShouldDeallocate: pulumi.Bool(false),
NetworkTtlInHours: pulumi.Int(0),
PublicIpShouldDeallocate: pulumi.Bool(false),
PublicIpTtlInHours: pulumi.Int(0),
ShouldDeregisterFromLb: pulumi.Bool(false),
ShouldRevertToOd: pulumi.Bool(false),
SnapshotShouldDeallocate: pulumi.Bool(false),
SnapshotTtlInHours: pulumi.Int(0),
},
},
DataDisksPersistenceMode: pulumi.String("string"),
DataDisks: spotinst.StatefulNodeAzureDataDiskArray{
&spotinst.StatefulNodeAzureDataDiskArgs{
Lun: pulumi.Int(0),
SizeGb: pulumi.Int(0),
Type: pulumi.String("string"),
},
},
ShouldPersistVm: pulumi.Bool(false),
ShutdownScript: pulumi.String("string"),
Signals: spotinst.StatefulNodeAzureSignalArray{
&spotinst.StatefulNodeAzureSignalArgs{
Timeout: pulumi.Int(0),
Type: pulumi.String("string"),
},
},
CustomData: pulumi.String("string"),
Tags: spotinst.StatefulNodeAzureTagArray{
&spotinst.StatefulNodeAzureTagArgs{
TagKey: pulumi.String("string"),
TagValue: pulumi.String("string"),
},
},
UpdateStates: spotinst.StatefulNodeAzureUpdateStateArray{
&spotinst.StatefulNodeAzureUpdateStateArgs{
State: pulumi.String("string"),
},
},
UserData: pulumi.String("string"),
VmName: pulumi.String("string"),
VmNamePrefix: pulumi.String("string"),
BootDiagnostics: spotinst.StatefulNodeAzureBootDiagnosticArray{
&spotinst.StatefulNodeAzureBootDiagnosticArgs{
IsEnabled: pulumi.Bool(false),
StorageUrl: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
Zones: pulumi.StringArray{
pulumi.String("string"),
},
})
var statefulNodeAzureResource = new StatefulNodeAzure("statefulNodeAzureResource", StatefulNodeAzureArgs.builder()
.os("string")
.vmSizes(StatefulNodeAzureVmSizesArgs.builder()
.odSizes("string")
.excludedVmSizes("string")
.preferredSpotSizes("string")
.spotSizeAttributes(StatefulNodeAzureVmSizesSpotSizeAttributesArgs.builder()
.maxCpu(0)
.maxMemory(0)
.maxStorage(0)
.minCpu(0)
.minMemory(0)
.minStorage(0)
.build())
.spotSizes("string")
.build())
.strategy(StatefulNodeAzureStrategyArgs.builder()
.fallbackToOnDemand(false)
.availabilityVsCost(0)
.capacityReservations(StatefulNodeAzureStrategyCapacityReservationArgs.builder()
.shouldUtilize(false)
.utilizationStrategy("string")
.capacityReservationGroups(StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs.builder()
.crgName("string")
.crgResourceGroupName("string")
.crgShouldPrioritize(false)
.build())
.build())
.drainingTimeout(0)
.odWindows("string")
.optimizationWindows("string")
.preferredLifeCycle("string")
.revertToSpot(StatefulNodeAzureStrategyRevertToSpotArgs.builder()
.performAt("string")
.build())
.vmAdmins("string")
.build())
.shouldPersistOsDisk(false)
.shouldPersistNetwork(false)
.shouldPersistDataDisks(false)
.resourceGroupName("string")
.region("string")
.image(StatefulNodeAzureImageArgs.builder()
.customImages(StatefulNodeAzureImageCustomImageArgs.builder()
.customImageResourceGroupName("string")
.name("string")
.build())
.galleries(StatefulNodeAzureImageGalleryArgs.builder()
.galleryName("string")
.galleryResourceGroupName("string")
.imageName("string")
.versionName("string")
.spotAccountId("string")
.build())
.marketplaceImages(StatefulNodeAzureImageMarketplaceImageArgs.builder()
.offer("string")
.publisher("string")
.sku("string")
.version("string")
.build())
.build())
.schedulingTasks(StatefulNodeAzureSchedulingTaskArgs.builder()
.cronExpression("string")
.isEnabled(false)
.type("string")
.build())
.attachDataDisks(StatefulNodeAzureAttachDataDiskArgs.builder()
.dataDiskName("string")
.dataDiskResourceGroupName("string")
.sizeGb(0)
.storageAccountType("string")
.lun(0)
.zone("string")
.build())
.importVms(StatefulNodeAzureImportVmArgs.builder()
.originalVmName("string")
.resourceGroupName("string")
.drainingTimeout(0)
.resourcesRetentionTime(0)
.build())
.licenseType("string")
.loadBalancers(StatefulNodeAzureLoadBalancerArgs.builder()
.backendPoolNames("string")
.name("string")
.resourceGroupName("string")
.type("string")
.sku("string")
.build())
.login(StatefulNodeAzureLoginArgs.builder()
.userName("string")
.password("string")
.sshPublicKey("string")
.build())
.managedServiceIdentities(StatefulNodeAzureManagedServiceIdentityArgs.builder()
.name("string")
.resourceGroupName("string")
.build())
.name("string")
.network(StatefulNodeAzureNetworkArgs.builder()
.networkInterfaces(StatefulNodeAzureNetworkNetworkInterfaceArgs.builder()
.isPrimary(false)
.subnetName("string")
.additionalIpConfigurations(StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs.builder()
.name("string")
.privateIpAddressVersion("string")
.build())
.applicationSecurityGroups(StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs.builder()
.name("string")
.networkResourceGroupName("string")
.build())
.assignPublicIp(false)
.enableIpForwarding(false)
.networkSecurityGroups(StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArgs.builder()
.name("string")
.networkResourceGroupName("string")
.build())
.privateIpAddresses("string")
.publicIpSku("string")
.publicIps(StatefulNodeAzureNetworkNetworkInterfacePublicIpArgs.builder()
.name("string")
.networkResourceGroupName("string")
.build())
.build())
.networkResourceGroupName("string")
.virtualNetworkName("string")
.build())
.extensions(StatefulNodeAzureExtensionArgs.builder()
.apiVersion("string")
.minorVersionAutoUpgrade(false)
.name("string")
.publisher("string")
.type("string")
.protectedSettings(Map.of("string", "string"))
.publicSettings(Map.of("string", "string"))
.build())
.osDisk(StatefulNodeAzureOsDiskArgs.builder()
.type("string")
.caching("string")
.sizeGb(0)
.build())
.osDiskPersistenceMode("string")
.preferredZone("string")
.proximityPlacementGroups(StatefulNodeAzureProximityPlacementGroupArgs.builder()
.name("string")
.resourceGroupName("string")
.build())
.detachDataDisks(StatefulNodeAzureDetachDataDiskArgs.builder()
.dataDiskName("string")
.dataDiskResourceGroupName("string")
.shouldDeallocate(false)
.ttlInHours(0)
.build())
.description("string")
.health(StatefulNodeAzureHealthArgs.builder()
.autoHealing(false)
.healthCheckTypes("string")
.gracePeriod(0)
.unhealthyDuration(0)
.build())
.secrets(StatefulNodeAzureSecretArgs.builder()
.sourceVaults(StatefulNodeAzureSecretSourceVaultArgs.builder()
.name("string")
.resourceGroupName("string")
.build())
.vaultCertificates(StatefulNodeAzureSecretVaultCertificateArgs.builder()
.certificateStore("string")
.certificateUrl("string")
.build())
.build())
.security(StatefulNodeAzureSecurityArgs.builder()
.confidentialOsDiskEncryption(false)
.encryptionAtHost(false)
.secureBootEnabled(false)
.securityType("string")
.vtpmEnabled(false)
.build())
.deletes(StatefulNodeAzureDeleteArgs.builder()
.shouldTerminateVm(false)
.diskShouldDeallocate(false)
.diskTtlInHours(0)
.networkShouldDeallocate(false)
.networkTtlInHours(0)
.publicIpShouldDeallocate(false)
.publicIpTtlInHours(0)
.shouldDeregisterFromLb(false)
.shouldRevertToOd(false)
.snapshotShouldDeallocate(false)
.snapshotTtlInHours(0)
.build())
.dataDisksPersistenceMode("string")
.dataDisks(StatefulNodeAzureDataDiskArgs.builder()
.lun(0)
.sizeGb(0)
.type("string")
.build())
.shouldPersistVm(false)
.shutdownScript("string")
.signals(StatefulNodeAzureSignalArgs.builder()
.timeout(0)
.type("string")
.build())
.customData("string")
.tags(StatefulNodeAzureTagArgs.builder()
.tagKey("string")
.tagValue("string")
.build())
.updateStates(StatefulNodeAzureUpdateStateArgs.builder()
.state("string")
.build())
.userData("string")
.vmName("string")
.vmNamePrefix("string")
.bootDiagnostics(StatefulNodeAzureBootDiagnosticArgs.builder()
.isEnabled(false)
.storageUrl("string")
.type("string")
.build())
.zones("string")
.build());
stateful_node_azure_resource = spotinst.StatefulNodeAzure("statefulNodeAzureResource",
os="string",
vm_sizes={
"od_sizes": ["string"],
"excluded_vm_sizes": ["string"],
"preferred_spot_sizes": ["string"],
"spot_size_attributes": {
"max_cpu": 0,
"max_memory": 0,
"max_storage": 0,
"min_cpu": 0,
"min_memory": 0,
"min_storage": 0,
},
"spot_sizes": ["string"],
},
strategy={
"fallback_to_on_demand": False,
"availability_vs_cost": 0,
"capacity_reservations": [{
"should_utilize": False,
"utilization_strategy": "string",
"capacity_reservation_groups": [{
"crg_name": "string",
"crg_resource_group_name": "string",
"crg_should_prioritize": False,
}],
}],
"draining_timeout": 0,
"od_windows": ["string"],
"optimization_windows": ["string"],
"preferred_life_cycle": "string",
"revert_to_spot": {
"perform_at": "string",
},
"vm_admins": ["string"],
},
should_persist_os_disk=False,
should_persist_network=False,
should_persist_data_disks=False,
resource_group_name="string",
region="string",
image={
"custom_images": [{
"custom_image_resource_group_name": "string",
"name": "string",
}],
"galleries": [{
"gallery_name": "string",
"gallery_resource_group_name": "string",
"image_name": "string",
"version_name": "string",
"spot_account_id": "string",
}],
"marketplace_images": [{
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string",
}],
},
scheduling_tasks=[{
"cron_expression": "string",
"is_enabled": False,
"type": "string",
}],
attach_data_disks=[{
"data_disk_name": "string",
"data_disk_resource_group_name": "string",
"size_gb": 0,
"storage_account_type": "string",
"lun": 0,
"zone": "string",
}],
import_vms=[{
"original_vm_name": "string",
"resource_group_name": "string",
"draining_timeout": 0,
"resources_retention_time": 0,
}],
license_type="string",
load_balancers=[{
"backend_pool_names": ["string"],
"name": "string",
"resource_group_name": "string",
"type": "string",
"sku": "string",
}],
login={
"user_name": "string",
"password": "string",
"ssh_public_key": "string",
},
managed_service_identities=[{
"name": "string",
"resource_group_name": "string",
}],
name="string",
network={
"network_interfaces": [{
"is_primary": False,
"subnet_name": "string",
"additional_ip_configurations": [{
"name": "string",
"private_ip_address_version": "string",
}],
"application_security_groups": [{
"name": "string",
"network_resource_group_name": "string",
}],
"assign_public_ip": False,
"enable_ip_forwarding": False,
"network_security_groups": [{
"name": "string",
"network_resource_group_name": "string",
}],
"private_ip_addresses": ["string"],
"public_ip_sku": "string",
"public_ips": [{
"name": "string",
"network_resource_group_name": "string",
}],
}],
"network_resource_group_name": "string",
"virtual_network_name": "string",
},
extensions=[{
"api_version": "string",
"minor_version_auto_upgrade": False,
"name": "string",
"publisher": "string",
"type": "string",
"protected_settings": {
"string": "string",
},
"public_settings": {
"string": "string",
},
}],
os_disk={
"type": "string",
"caching": "string",
"size_gb": 0,
},
os_disk_persistence_mode="string",
preferred_zone="string",
proximity_placement_groups=[{
"name": "string",
"resource_group_name": "string",
}],
detach_data_disks=[{
"data_disk_name": "string",
"data_disk_resource_group_name": "string",
"should_deallocate": False,
"ttl_in_hours": 0,
}],
description="string",
health={
"auto_healing": False,
"health_check_types": ["string"],
"grace_period": 0,
"unhealthy_duration": 0,
},
secrets=[{
"source_vaults": [{
"name": "string",
"resource_group_name": "string",
}],
"vault_certificates": [{
"certificate_store": "string",
"certificate_url": "string",
}],
}],
security={
"confidential_os_disk_encryption": False,
"encryption_at_host": False,
"secure_boot_enabled": False,
"security_type": "string",
"vtpm_enabled": False,
},
deletes=[{
"should_terminate_vm": False,
"disk_should_deallocate": False,
"disk_ttl_in_hours": 0,
"network_should_deallocate": False,
"network_ttl_in_hours": 0,
"public_ip_should_deallocate": False,
"public_ip_ttl_in_hours": 0,
"should_deregister_from_lb": False,
"should_revert_to_od": False,
"snapshot_should_deallocate": False,
"snapshot_ttl_in_hours": 0,
}],
data_disks_persistence_mode="string",
data_disks=[{
"lun": 0,
"size_gb": 0,
"type": "string",
}],
should_persist_vm=False,
shutdown_script="string",
signals=[{
"timeout": 0,
"type": "string",
}],
custom_data="string",
tags=[{
"tag_key": "string",
"tag_value": "string",
}],
update_states=[{
"state": "string",
}],
user_data="string",
vm_name="string",
vm_name_prefix="string",
boot_diagnostics=[{
"is_enabled": False,
"storage_url": "string",
"type": "string",
}],
zones=["string"])
const statefulNodeAzureResource = new spotinst.StatefulNodeAzure("statefulNodeAzureResource", {
os: "string",
vmSizes: {
odSizes: ["string"],
excludedVmSizes: ["string"],
preferredSpotSizes: ["string"],
spotSizeAttributes: {
maxCpu: 0,
maxMemory: 0,
maxStorage: 0,
minCpu: 0,
minMemory: 0,
minStorage: 0,
},
spotSizes: ["string"],
},
strategy: {
fallbackToOnDemand: false,
availabilityVsCost: 0,
capacityReservations: [{
shouldUtilize: false,
utilizationStrategy: "string",
capacityReservationGroups: [{
crgName: "string",
crgResourceGroupName: "string",
crgShouldPrioritize: false,
}],
}],
drainingTimeout: 0,
odWindows: ["string"],
optimizationWindows: ["string"],
preferredLifeCycle: "string",
revertToSpot: {
performAt: "string",
},
vmAdmins: ["string"],
},
shouldPersistOsDisk: false,
shouldPersistNetwork: false,
shouldPersistDataDisks: false,
resourceGroupName: "string",
region: "string",
image: {
customImages: [{
customImageResourceGroupName: "string",
name: "string",
}],
galleries: [{
galleryName: "string",
galleryResourceGroupName: "string",
imageName: "string",
versionName: "string",
spotAccountId: "string",
}],
marketplaceImages: [{
offer: "string",
publisher: "string",
sku: "string",
version: "string",
}],
},
schedulingTasks: [{
cronExpression: "string",
isEnabled: false,
type: "string",
}],
attachDataDisks: [{
dataDiskName: "string",
dataDiskResourceGroupName: "string",
sizeGb: 0,
storageAccountType: "string",
lun: 0,
zone: "string",
}],
importVms: [{
originalVmName: "string",
resourceGroupName: "string",
drainingTimeout: 0,
resourcesRetentionTime: 0,
}],
licenseType: "string",
loadBalancers: [{
backendPoolNames: ["string"],
name: "string",
resourceGroupName: "string",
type: "string",
sku: "string",
}],
login: {
userName: "string",
password: "string",
sshPublicKey: "string",
},
managedServiceIdentities: [{
name: "string",
resourceGroupName: "string",
}],
name: "string",
network: {
networkInterfaces: [{
isPrimary: false,
subnetName: "string",
additionalIpConfigurations: [{
name: "string",
privateIpAddressVersion: "string",
}],
applicationSecurityGroups: [{
name: "string",
networkResourceGroupName: "string",
}],
assignPublicIp: false,
enableIpForwarding: false,
networkSecurityGroups: [{
name: "string",
networkResourceGroupName: "string",
}],
privateIpAddresses: ["string"],
publicIpSku: "string",
publicIps: [{
name: "string",
networkResourceGroupName: "string",
}],
}],
networkResourceGroupName: "string",
virtualNetworkName: "string",
},
extensions: [{
apiVersion: "string",
minorVersionAutoUpgrade: false,
name: "string",
publisher: "string",
type: "string",
protectedSettings: {
string: "string",
},
publicSettings: {
string: "string",
},
}],
osDisk: {
type: "string",
caching: "string",
sizeGb: 0,
},
osDiskPersistenceMode: "string",
preferredZone: "string",
proximityPlacementGroups: [{
name: "string",
resourceGroupName: "string",
}],
detachDataDisks: [{
dataDiskName: "string",
dataDiskResourceGroupName: "string",
shouldDeallocate: false,
ttlInHours: 0,
}],
description: "string",
health: {
autoHealing: false,
healthCheckTypes: ["string"],
gracePeriod: 0,
unhealthyDuration: 0,
},
secrets: [{
sourceVaults: [{
name: "string",
resourceGroupName: "string",
}],
vaultCertificates: [{
certificateStore: "string",
certificateUrl: "string",
}],
}],
security: {
confidentialOsDiskEncryption: false,
encryptionAtHost: false,
secureBootEnabled: false,
securityType: "string",
vtpmEnabled: false,
},
deletes: [{
shouldTerminateVm: false,
diskShouldDeallocate: false,
diskTtlInHours: 0,
networkShouldDeallocate: false,
networkTtlInHours: 0,
publicIpShouldDeallocate: false,
publicIpTtlInHours: 0,
shouldDeregisterFromLb: false,
shouldRevertToOd: false,
snapshotShouldDeallocate: false,
snapshotTtlInHours: 0,
}],
dataDisksPersistenceMode: "string",
dataDisks: [{
lun: 0,
sizeGb: 0,
type: "string",
}],
shouldPersistVm: false,
shutdownScript: "string",
signals: [{
timeout: 0,
type: "string",
}],
customData: "string",
tags: [{
tagKey: "string",
tagValue: "string",
}],
updateStates: [{
state: "string",
}],
userData: "string",
vmName: "string",
vmNamePrefix: "string",
bootDiagnostics: [{
isEnabled: false,
storageUrl: "string",
type: "string",
}],
zones: ["string"],
});
type: spotinst:StatefulNodeAzure
properties:
attachDataDisks:
- dataDiskName: string
dataDiskResourceGroupName: string
lun: 0
sizeGb: 0
storageAccountType: string
zone: string
bootDiagnostics:
- isEnabled: false
storageUrl: string
type: string
customData: string
dataDisks:
- lun: 0
sizeGb: 0
type: string
dataDisksPersistenceMode: string
deletes:
- diskShouldDeallocate: false
diskTtlInHours: 0
networkShouldDeallocate: false
networkTtlInHours: 0
publicIpShouldDeallocate: false
publicIpTtlInHours: 0
shouldDeregisterFromLb: false
shouldRevertToOd: false
shouldTerminateVm: false
snapshotShouldDeallocate: false
snapshotTtlInHours: 0
description: string
detachDataDisks:
- dataDiskName: string
dataDiskResourceGroupName: string
shouldDeallocate: false
ttlInHours: 0
extensions:
- apiVersion: string
minorVersionAutoUpgrade: false
name: string
protectedSettings:
string: string
publicSettings:
string: string
publisher: string
type: string
health:
autoHealing: false
gracePeriod: 0
healthCheckTypes:
- string
unhealthyDuration: 0
image:
customImages:
- customImageResourceGroupName: string
name: string
galleries:
- galleryName: string
galleryResourceGroupName: string
imageName: string
spotAccountId: string
versionName: string
marketplaceImages:
- offer: string
publisher: string
sku: string
version: string
importVms:
- drainingTimeout: 0
originalVmName: string
resourceGroupName: string
resourcesRetentionTime: 0
licenseType: string
loadBalancers:
- backendPoolNames:
- string
name: string
resourceGroupName: string
sku: string
type: string
login:
password: string
sshPublicKey: string
userName: string
managedServiceIdentities:
- name: string
resourceGroupName: string
name: string
network:
networkInterfaces:
- additionalIpConfigurations:
- name: string
privateIpAddressVersion: string
applicationSecurityGroups:
- name: string
networkResourceGroupName: string
assignPublicIp: false
enableIpForwarding: false
isPrimary: false
networkSecurityGroups:
- name: string
networkResourceGroupName: string
privateIpAddresses:
- string
publicIpSku: string
publicIps:
- name: string
networkResourceGroupName: string
subnetName: string
networkResourceGroupName: string
virtualNetworkName: string
os: string
osDisk:
caching: string
sizeGb: 0
type: string
osDiskPersistenceMode: string
preferredZone: string
proximityPlacementGroups:
- name: string
resourceGroupName: string
region: string
resourceGroupName: string
schedulingTasks:
- cronExpression: string
isEnabled: false
type: string
secrets:
- sourceVaults:
- name: string
resourceGroupName: string
vaultCertificates:
- certificateStore: string
certificateUrl: string
security:
confidentialOsDiskEncryption: false
encryptionAtHost: false
secureBootEnabled: false
securityType: string
vtpmEnabled: false
shouldPersistDataDisks: false
shouldPersistNetwork: false
shouldPersistOsDisk: false
shouldPersistVm: false
shutdownScript: string
signals:
- timeout: 0
type: string
strategy:
availabilityVsCost: 0
capacityReservations:
- capacityReservationGroups:
- crgName: string
crgResourceGroupName: string
crgShouldPrioritize: false
shouldUtilize: false
utilizationStrategy: string
drainingTimeout: 0
fallbackToOnDemand: false
odWindows:
- string
optimizationWindows:
- string
preferredLifeCycle: string
revertToSpot:
performAt: string
vmAdmins:
- string
tags:
- tagKey: string
tagValue: string
updateStates:
- state: string
userData: string
vmName: string
vmNamePrefix: string
vmSizes:
excludedVmSizes:
- string
odSizes:
- string
preferredSpotSizes:
- string
spotSizeAttributes:
maxCpu: 0
maxMemory: 0
maxStorage: 0
minCpu: 0
minMemory: 0
minStorage: 0
spotSizes:
- string
zones:
- string
StatefulNodeAzure Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The StatefulNodeAzure resource accepts the following input properties:
- Os
This property is required. string - Region
This property is required. string - Resource
Group Name This property is required. string - Should
Persist Data Disks This property is required. bool - Should
Persist Network This property is required. bool - Should
Persist Os Disk This property is required. bool - Strategy
This property is required. Pulumi.Spot Inst. Inputs. Stateful Node Azure Strategy - Vm
Sizes This property is required. Pulumi.Spot Inst. Inputs. Stateful Node Azure Vm Sizes - Attach
Data List<Pulumi.Disks Spot Inst. Inputs. Stateful Node Azure Attach Data Disk> - Boot
Diagnostics List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Boot Diagnostic> - Custom
Data string - Data
Disks List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Data Disk> - Data
Disks stringPersistence Mode - Deletes
List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Delete> - Description string
- Detach
Data List<Pulumi.Disks Spot Inst. Inputs. Stateful Node Azure Detach Data Disk> - Extensions
List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Extension> - Health
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Health - Image
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Image - Import
Vms List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Import Vm> - License
Type string - Load
Balancers List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Load Balancer> - Login
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Login - Managed
Service List<Pulumi.Identities Spot Inst. Inputs. Stateful Node Azure Managed Service Identity> - Name string
- Network
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Network - Os
Disk Pulumi.Spot Inst. Inputs. Stateful Node Azure Os Disk - Os
Disk stringPersistence Mode - Preferred
Zone string - Proximity
Placement List<Pulumi.Groups Spot Inst. Inputs. Stateful Node Azure Proximity Placement Group> - Scheduling
Tasks List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Scheduling Task> - Secrets
List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Secret> - Security
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Security - Should
Persist boolVm - Shutdown
Script string - Signals
List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Signal> - List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Tag> - Update
States List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Update State> - User
Data string - Vm
Name string - Vm
Name stringPrefix - Zones List<string>
- Os
This property is required. string - Region
This property is required. string - Resource
Group Name This property is required. string - Should
Persist Data Disks This property is required. bool - Should
Persist Network This property is required. bool - Should
Persist Os Disk This property is required. bool - Strategy
This property is required. StatefulNode Azure Strategy Args - Vm
Sizes This property is required. StatefulNode Azure Vm Sizes Args - Attach
Data []StatefulDisks Node Azure Attach Data Disk Args - Boot
Diagnostics []StatefulNode Azure Boot Diagnostic Args - Custom
Data string - Data
Disks []StatefulNode Azure Data Disk Args - Data
Disks stringPersistence Mode - Deletes
[]Stateful
Node Azure Delete Args - Description string
- Detach
Data []StatefulDisks Node Azure Detach Data Disk Args - Extensions
[]Stateful
Node Azure Extension Args - Health
Stateful
Node Azure Health Args - Image
Stateful
Node Azure Image Args - Import
Vms []StatefulNode Azure Import Vm Args - License
Type string - Load
Balancers []StatefulNode Azure Load Balancer Args - Login
Stateful
Node Azure Login Args - Managed
Service []StatefulIdentities Node Azure Managed Service Identity Args - Name string
- Network
Stateful
Node Azure Network Args - Os
Disk StatefulNode Azure Os Disk Args - Os
Disk stringPersistence Mode - Preferred
Zone string - Proximity
Placement []StatefulGroups Node Azure Proximity Placement Group Args - Scheduling
Tasks []StatefulNode Azure Scheduling Task Args - Secrets
[]Stateful
Node Azure Secret Args - Security
Stateful
Node Azure Security Args - Should
Persist boolVm - Shutdown
Script string - Signals
[]Stateful
Node Azure Signal Args - []Stateful
Node Azure Tag Args - Update
States []StatefulNode Azure Update State Args - User
Data string - Vm
Name string - Vm
Name stringPrefix - Zones []string
- os
This property is required. String - region
This property is required. String - resource
Group Name This property is required. String - should
Persist Data Disks This property is required. Boolean - should
Persist Network This property is required. Boolean - should
Persist Os Disk This property is required. Boolean - strategy
This property is required. StatefulNode Azure Strategy - vm
Sizes This property is required. StatefulNode Azure Vm Sizes - attach
Data List<StatefulDisks Node Azure Attach Data Disk> - boot
Diagnostics List<StatefulNode Azure Boot Diagnostic> - custom
Data String - data
Disks List<StatefulNode Azure Data Disk> - data
Disks StringPersistence Mode - deletes
List<Stateful
Node Azure Delete> - description String
- detach
Data List<StatefulDisks Node Azure Detach Data Disk> - extensions
List<Stateful
Node Azure Extension> - health
Stateful
Node Azure Health - image
Stateful
Node Azure Image - import
Vms List<StatefulNode Azure Import Vm> - license
Type String - load
Balancers List<StatefulNode Azure Load Balancer> - login
Stateful
Node Azure Login - managed
Service List<StatefulIdentities Node Azure Managed Service Identity> - name String
- network
Stateful
Node Azure Network - os
Disk StatefulNode Azure Os Disk - os
Disk StringPersistence Mode - preferred
Zone String - proximity
Placement List<StatefulGroups Node Azure Proximity Placement Group> - scheduling
Tasks List<StatefulNode Azure Scheduling Task> - secrets
List<Stateful
Node Azure Secret> - security
Stateful
Node Azure Security - should
Persist BooleanVm - shutdown
Script String - signals
List<Stateful
Node Azure Signal> - List<Stateful
Node Azure Tag> - update
States List<StatefulNode Azure Update State> - user
Data String - vm
Name String - vm
Name StringPrefix - zones List<String>
- os
This property is required. string - region
This property is required. string - resource
Group Name This property is required. string - should
Persist Data Disks This property is required. boolean - should
Persist Network This property is required. boolean - should
Persist Os Disk This property is required. boolean - strategy
This property is required. StatefulNode Azure Strategy - vm
Sizes This property is required. StatefulNode Azure Vm Sizes - attach
Data StatefulDisks Node Azure Attach Data Disk[] - boot
Diagnostics StatefulNode Azure Boot Diagnostic[] - custom
Data string - data
Disks StatefulNode Azure Data Disk[] - data
Disks stringPersistence Mode - deletes
Stateful
Node Azure Delete[] - description string
- detach
Data StatefulDisks Node Azure Detach Data Disk[] - extensions
Stateful
Node Azure Extension[] - health
Stateful
Node Azure Health - image
Stateful
Node Azure Image - import
Vms StatefulNode Azure Import Vm[] - license
Type string - load
Balancers StatefulNode Azure Load Balancer[] - login
Stateful
Node Azure Login - managed
Service StatefulIdentities Node Azure Managed Service Identity[] - name string
- network
Stateful
Node Azure Network - os
Disk StatefulNode Azure Os Disk - os
Disk stringPersistence Mode - preferred
Zone string - proximity
Placement StatefulGroups Node Azure Proximity Placement Group[] - scheduling
Tasks StatefulNode Azure Scheduling Task[] - secrets
Stateful
Node Azure Secret[] - security
Stateful
Node Azure Security - should
Persist booleanVm - shutdown
Script string - signals
Stateful
Node Azure Signal[] - Stateful
Node Azure Tag[] - update
States StatefulNode Azure Update State[] - user
Data string - vm
Name string - vm
Name stringPrefix - zones string[]
- os
This property is required. str - region
This property is required. str - resource_
group_ name This property is required. str - should_
persist_ data_ disks This property is required. bool - should_
persist_ network This property is required. bool - should_
persist_ os_ disk This property is required. bool - strategy
This property is required. StatefulNode Azure Strategy Args - vm_
sizes This property is required. StatefulNode Azure Vm Sizes Args - attach_
data_ Sequence[Statefuldisks Node Azure Attach Data Disk Args] - boot_
diagnostics Sequence[StatefulNode Azure Boot Diagnostic Args] - custom_
data str - data_
disks Sequence[StatefulNode Azure Data Disk Args] - data_
disks_ strpersistence_ mode - deletes
Sequence[Stateful
Node Azure Delete Args] - description str
- detach_
data_ Sequence[Statefuldisks Node Azure Detach Data Disk Args] - extensions
Sequence[Stateful
Node Azure Extension Args] - health
Stateful
Node Azure Health Args - image
Stateful
Node Azure Image Args - import_
vms Sequence[StatefulNode Azure Import Vm Args] - license_
type str - load_
balancers Sequence[StatefulNode Azure Load Balancer Args] - login
Stateful
Node Azure Login Args - managed_
service_ Sequence[Statefulidentities Node Azure Managed Service Identity Args] - name str
- network
Stateful
Node Azure Network Args - os_
disk StatefulNode Azure Os Disk Args - os_
disk_ strpersistence_ mode - preferred_
zone str - proximity_
placement_ Sequence[Statefulgroups Node Azure Proximity Placement Group Args] - scheduling_
tasks Sequence[StatefulNode Azure Scheduling Task Args] - secrets
Sequence[Stateful
Node Azure Secret Args] - security
Stateful
Node Azure Security Args - should_
persist_ boolvm - shutdown_
script str - signals
Sequence[Stateful
Node Azure Signal Args] - Sequence[Stateful
Node Azure Tag Args] - update_
states Sequence[StatefulNode Azure Update State Args] - user_
data str - vm_
name str - vm_
name_ strprefix - zones Sequence[str]
- os
This property is required. String - region
This property is required. String - resource
Group Name This property is required. String - should
Persist Data Disks This property is required. Boolean - should
Persist Network This property is required. Boolean - should
Persist Os Disk This property is required. Boolean - strategy
This property is required. Property Map - vm
Sizes This property is required. Property Map - attach
Data List<Property Map>Disks - boot
Diagnostics List<Property Map> - custom
Data String - data
Disks List<Property Map> - data
Disks StringPersistence Mode - deletes List<Property Map>
- description String
- detach
Data List<Property Map>Disks - extensions List<Property Map>
- health Property Map
- image Property Map
- import
Vms List<Property Map> - license
Type String - load
Balancers List<Property Map> - login Property Map
- managed
Service List<Property Map>Identities - name String
- network Property Map
- os
Disk Property Map - os
Disk StringPersistence Mode - preferred
Zone String - proximity
Placement List<Property Map>Groups - scheduling
Tasks List<Property Map> - secrets List<Property Map>
- security Property Map
- should
Persist BooleanVm - shutdown
Script String - signals List<Property Map>
- List<Property Map>
- update
States List<Property Map> - user
Data String - vm
Name String - vm
Name StringPrefix - zones List<String>
Outputs
All input properties are implicitly available as output properties. Additionally, the StatefulNodeAzure resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing StatefulNodeAzure Resource
Get an existing StatefulNodeAzure resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: StatefulNodeAzureState, opts?: CustomResourceOptions): StatefulNodeAzure
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
attach_data_disks: Optional[Sequence[StatefulNodeAzureAttachDataDiskArgs]] = None,
boot_diagnostics: Optional[Sequence[StatefulNodeAzureBootDiagnosticArgs]] = None,
custom_data: Optional[str] = None,
data_disks: Optional[Sequence[StatefulNodeAzureDataDiskArgs]] = None,
data_disks_persistence_mode: Optional[str] = None,
deletes: Optional[Sequence[StatefulNodeAzureDeleteArgs]] = None,
description: Optional[str] = None,
detach_data_disks: Optional[Sequence[StatefulNodeAzureDetachDataDiskArgs]] = None,
extensions: Optional[Sequence[StatefulNodeAzureExtensionArgs]] = None,
health: Optional[StatefulNodeAzureHealthArgs] = None,
image: Optional[StatefulNodeAzureImageArgs] = None,
import_vms: Optional[Sequence[StatefulNodeAzureImportVmArgs]] = None,
license_type: Optional[str] = None,
load_balancers: Optional[Sequence[StatefulNodeAzureLoadBalancerArgs]] = None,
login: Optional[StatefulNodeAzureLoginArgs] = None,
managed_service_identities: Optional[Sequence[StatefulNodeAzureManagedServiceIdentityArgs]] = None,
name: Optional[str] = None,
network: Optional[StatefulNodeAzureNetworkArgs] = None,
os: Optional[str] = None,
os_disk: Optional[StatefulNodeAzureOsDiskArgs] = None,
os_disk_persistence_mode: Optional[str] = None,
preferred_zone: Optional[str] = None,
proximity_placement_groups: Optional[Sequence[StatefulNodeAzureProximityPlacementGroupArgs]] = None,
region: Optional[str] = None,
resource_group_name: Optional[str] = None,
scheduling_tasks: Optional[Sequence[StatefulNodeAzureSchedulingTaskArgs]] = None,
secrets: Optional[Sequence[StatefulNodeAzureSecretArgs]] = None,
security: Optional[StatefulNodeAzureSecurityArgs] = None,
should_persist_data_disks: Optional[bool] = None,
should_persist_network: Optional[bool] = None,
should_persist_os_disk: Optional[bool] = None,
should_persist_vm: Optional[bool] = None,
shutdown_script: Optional[str] = None,
signals: Optional[Sequence[StatefulNodeAzureSignalArgs]] = None,
strategy: Optional[StatefulNodeAzureStrategyArgs] = None,
tags: Optional[Sequence[StatefulNodeAzureTagArgs]] = None,
update_states: Optional[Sequence[StatefulNodeAzureUpdateStateArgs]] = None,
user_data: Optional[str] = None,
vm_name: Optional[str] = None,
vm_name_prefix: Optional[str] = None,
vm_sizes: Optional[StatefulNodeAzureVmSizesArgs] = None,
zones: Optional[Sequence[str]] = None) -> StatefulNodeAzure
func GetStatefulNodeAzure(ctx *Context, name string, id IDInput, state *StatefulNodeAzureState, opts ...ResourceOption) (*StatefulNodeAzure, error)
public static StatefulNodeAzure Get(string name, Input<string> id, StatefulNodeAzureState? state, CustomResourceOptions? opts = null)
public static StatefulNodeAzure get(String name, Output<String> id, StatefulNodeAzureState state, CustomResourceOptions options)
resources: _: type: spotinst:StatefulNodeAzure get: id: ${id}
- name
This property is required. - The unique name of the resulting resource.
- id
This property is required. - The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
This property is required. - The unique name of the resulting resource.
- id
This property is required. - The unique provider ID of the resource to lookup.
- name
This property is required. - The unique name of the resulting resource.
- id
This property is required. - The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
This property is required. - The unique name of the resulting resource.
- id
This property is required. - The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
This property is required. - The unique name of the resulting resource.
- id
This property is required. - The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Attach
Data List<Pulumi.Disks Spot Inst. Inputs. Stateful Node Azure Attach Data Disk> - Boot
Diagnostics List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Boot Diagnostic> - Custom
Data string - Data
Disks List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Data Disk> - Data
Disks stringPersistence Mode - Deletes
List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Delete> - Description string
- Detach
Data List<Pulumi.Disks Spot Inst. Inputs. Stateful Node Azure Detach Data Disk> - Extensions
List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Extension> - Health
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Health - Image
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Image - Import
Vms List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Import Vm> - License
Type string - Load
Balancers List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Load Balancer> - Login
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Login - Managed
Service List<Pulumi.Identities Spot Inst. Inputs. Stateful Node Azure Managed Service Identity> - Name string
- Network
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Network - Os string
- Os
Disk Pulumi.Spot Inst. Inputs. Stateful Node Azure Os Disk - Os
Disk stringPersistence Mode - Preferred
Zone string - Proximity
Placement List<Pulumi.Groups Spot Inst. Inputs. Stateful Node Azure Proximity Placement Group> - Region string
- Resource
Group stringName - Scheduling
Tasks List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Scheduling Task> - Secrets
List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Secret> - Security
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Security - Should
Persist boolData Disks - Should
Persist boolNetwork - Should
Persist boolOs Disk - Should
Persist boolVm - Shutdown
Script string - Signals
List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Signal> - Strategy
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Strategy - List<Pulumi.
Spot Inst. Inputs. Stateful Node Azure Tag> - Update
States List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Update State> - User
Data string - Vm
Name string - Vm
Name stringPrefix - Vm
Sizes Pulumi.Spot Inst. Inputs. Stateful Node Azure Vm Sizes - Zones List<string>
- Attach
Data []StatefulDisks Node Azure Attach Data Disk Args - Boot
Diagnostics []StatefulNode Azure Boot Diagnostic Args - Custom
Data string - Data
Disks []StatefulNode Azure Data Disk Args - Data
Disks stringPersistence Mode - Deletes
[]Stateful
Node Azure Delete Args - Description string
- Detach
Data []StatefulDisks Node Azure Detach Data Disk Args - Extensions
[]Stateful
Node Azure Extension Args - Health
Stateful
Node Azure Health Args - Image
Stateful
Node Azure Image Args - Import
Vms []StatefulNode Azure Import Vm Args - License
Type string - Load
Balancers []StatefulNode Azure Load Balancer Args - Login
Stateful
Node Azure Login Args - Managed
Service []StatefulIdentities Node Azure Managed Service Identity Args - Name string
- Network
Stateful
Node Azure Network Args - Os string
- Os
Disk StatefulNode Azure Os Disk Args - Os
Disk stringPersistence Mode - Preferred
Zone string - Proximity
Placement []StatefulGroups Node Azure Proximity Placement Group Args - Region string
- Resource
Group stringName - Scheduling
Tasks []StatefulNode Azure Scheduling Task Args - Secrets
[]Stateful
Node Azure Secret Args - Security
Stateful
Node Azure Security Args - Should
Persist boolData Disks - Should
Persist boolNetwork - Should
Persist boolOs Disk - Should
Persist boolVm - Shutdown
Script string - Signals
[]Stateful
Node Azure Signal Args - Strategy
Stateful
Node Azure Strategy Args - []Stateful
Node Azure Tag Args - Update
States []StatefulNode Azure Update State Args - User
Data string - Vm
Name string - Vm
Name stringPrefix - Vm
Sizes StatefulNode Azure Vm Sizes Args - Zones []string
- attach
Data List<StatefulDisks Node Azure Attach Data Disk> - boot
Diagnostics List<StatefulNode Azure Boot Diagnostic> - custom
Data String - data
Disks List<StatefulNode Azure Data Disk> - data
Disks StringPersistence Mode - deletes
List<Stateful
Node Azure Delete> - description String
- detach
Data List<StatefulDisks Node Azure Detach Data Disk> - extensions
List<Stateful
Node Azure Extension> - health
Stateful
Node Azure Health - image
Stateful
Node Azure Image - import
Vms List<StatefulNode Azure Import Vm> - license
Type String - load
Balancers List<StatefulNode Azure Load Balancer> - login
Stateful
Node Azure Login - managed
Service List<StatefulIdentities Node Azure Managed Service Identity> - name String
- network
Stateful
Node Azure Network - os String
- os
Disk StatefulNode Azure Os Disk - os
Disk StringPersistence Mode - preferred
Zone String - proximity
Placement List<StatefulGroups Node Azure Proximity Placement Group> - region String
- resource
Group StringName - scheduling
Tasks List<StatefulNode Azure Scheduling Task> - secrets
List<Stateful
Node Azure Secret> - security
Stateful
Node Azure Security - should
Persist BooleanData Disks - should
Persist BooleanNetwork - should
Persist BooleanOs Disk - should
Persist BooleanVm - shutdown
Script String - signals
List<Stateful
Node Azure Signal> - strategy
Stateful
Node Azure Strategy - List<Stateful
Node Azure Tag> - update
States List<StatefulNode Azure Update State> - user
Data String - vm
Name String - vm
Name StringPrefix - vm
Sizes StatefulNode Azure Vm Sizes - zones List<String>
- attach
Data StatefulDisks Node Azure Attach Data Disk[] - boot
Diagnostics StatefulNode Azure Boot Diagnostic[] - custom
Data string - data
Disks StatefulNode Azure Data Disk[] - data
Disks stringPersistence Mode - deletes
Stateful
Node Azure Delete[] - description string
- detach
Data StatefulDisks Node Azure Detach Data Disk[] - extensions
Stateful
Node Azure Extension[] - health
Stateful
Node Azure Health - image
Stateful
Node Azure Image - import
Vms StatefulNode Azure Import Vm[] - license
Type string - load
Balancers StatefulNode Azure Load Balancer[] - login
Stateful
Node Azure Login - managed
Service StatefulIdentities Node Azure Managed Service Identity[] - name string
- network
Stateful
Node Azure Network - os string
- os
Disk StatefulNode Azure Os Disk - os
Disk stringPersistence Mode - preferred
Zone string - proximity
Placement StatefulGroups Node Azure Proximity Placement Group[] - region string
- resource
Group stringName - scheduling
Tasks StatefulNode Azure Scheduling Task[] - secrets
Stateful
Node Azure Secret[] - security
Stateful
Node Azure Security - should
Persist booleanData Disks - should
Persist booleanNetwork - should
Persist booleanOs Disk - should
Persist booleanVm - shutdown
Script string - signals
Stateful
Node Azure Signal[] - strategy
Stateful
Node Azure Strategy - Stateful
Node Azure Tag[] - update
States StatefulNode Azure Update State[] - user
Data string - vm
Name string - vm
Name stringPrefix - vm
Sizes StatefulNode Azure Vm Sizes - zones string[]
- attach_
data_ Sequence[Statefuldisks Node Azure Attach Data Disk Args] - boot_
diagnostics Sequence[StatefulNode Azure Boot Diagnostic Args] - custom_
data str - data_
disks Sequence[StatefulNode Azure Data Disk Args] - data_
disks_ strpersistence_ mode - deletes
Sequence[Stateful
Node Azure Delete Args] - description str
- detach_
data_ Sequence[Statefuldisks Node Azure Detach Data Disk Args] - extensions
Sequence[Stateful
Node Azure Extension Args] - health
Stateful
Node Azure Health Args - image
Stateful
Node Azure Image Args - import_
vms Sequence[StatefulNode Azure Import Vm Args] - license_
type str - load_
balancers Sequence[StatefulNode Azure Load Balancer Args] - login
Stateful
Node Azure Login Args - managed_
service_ Sequence[Statefulidentities Node Azure Managed Service Identity Args] - name str
- network
Stateful
Node Azure Network Args - os str
- os_
disk StatefulNode Azure Os Disk Args - os_
disk_ strpersistence_ mode - preferred_
zone str - proximity_
placement_ Sequence[Statefulgroups Node Azure Proximity Placement Group Args] - region str
- resource_
group_ strname - scheduling_
tasks Sequence[StatefulNode Azure Scheduling Task Args] - secrets
Sequence[Stateful
Node Azure Secret Args] - security
Stateful
Node Azure Security Args - should_
persist_ booldata_ disks - should_
persist_ boolnetwork - should_
persist_ boolos_ disk - should_
persist_ boolvm - shutdown_
script str - signals
Sequence[Stateful
Node Azure Signal Args] - strategy
Stateful
Node Azure Strategy Args - Sequence[Stateful
Node Azure Tag Args] - update_
states Sequence[StatefulNode Azure Update State Args] - user_
data str - vm_
name str - vm_
name_ strprefix - vm_
sizes StatefulNode Azure Vm Sizes Args - zones Sequence[str]
- attach
Data List<Property Map>Disks - boot
Diagnostics List<Property Map> - custom
Data String - data
Disks List<Property Map> - data
Disks StringPersistence Mode - deletes List<Property Map>
- description String
- detach
Data List<Property Map>Disks - extensions List<Property Map>
- health Property Map
- image Property Map
- import
Vms List<Property Map> - license
Type String - load
Balancers List<Property Map> - login Property Map
- managed
Service List<Property Map>Identities - name String
- network Property Map
- os String
- os
Disk Property Map - os
Disk StringPersistence Mode - preferred
Zone String - proximity
Placement List<Property Map>Groups - region String
- resource
Group StringName - scheduling
Tasks List<Property Map> - secrets List<Property Map>
- security Property Map
- should
Persist BooleanData Disks - should
Persist BooleanNetwork - should
Persist BooleanOs Disk - should
Persist BooleanVm - shutdown
Script String - signals List<Property Map>
- strategy Property Map
- List<Property Map>
- update
States List<Property Map> - user
Data String - vm
Name String - vm
Name StringPrefix - vm
Sizes Property Map - zones List<String>
Supporting Types
StatefulNodeAzureAttachDataDisk, StatefulNodeAzureAttachDataDiskArgs
- Data
Disk Name This property is required. string - Data
Disk Resource Group Name This property is required. string - Size
Gb This property is required. int - Storage
Account Type This property is required. string - Lun int
- Zone string
- Data
Disk Name This property is required. string - Data
Disk Resource Group Name This property is required. string - Size
Gb This property is required. int - Storage
Account Type This property is required. string - Lun int
- Zone string
- data
Disk Name This property is required. String - data
Disk Resource Group Name This property is required. String - size
Gb This property is required. Integer - storage
Account Type This property is required. String - lun Integer
- zone String
- data
Disk Name This property is required. string - data
Disk Resource Group Name This property is required. string - size
Gb This property is required. number - storage
Account Type This property is required. string - lun number
- zone string
- data_
disk_ name This property is required. str - data_
disk_ resource_ group_ name This property is required. str - size_
gb This property is required. int - storage_
account_ type This property is required. str - lun int
- zone str
- data
Disk Name This property is required. String - data
Disk Resource Group Name This property is required. String - size
Gb This property is required. Number - storage
Account Type This property is required. String - lun Number
- zone String
StatefulNodeAzureBootDiagnostic, StatefulNodeAzureBootDiagnosticArgs
- Is
Enabled bool - Storage
Url string - Type string
- Is
Enabled bool - Storage
Url string - Type string
- is
Enabled Boolean - storage
Url String - type String
- is
Enabled boolean - storage
Url string - type string
- is_
enabled bool - storage_
url str - type str
- is
Enabled Boolean - storage
Url String - type String
StatefulNodeAzureDataDisk, StatefulNodeAzureDataDiskArgs
StatefulNodeAzureDelete, StatefulNodeAzureDeleteArgs
- Should
Terminate Vm This property is required. bool - Disk
Should boolDeallocate - Disk
Ttl intIn Hours - Network
Should boolDeallocate - Network
Ttl intIn Hours - Public
Ip boolShould Deallocate - Public
Ip intTtl In Hours - Should
Deregister boolFrom Lb - Should
Revert boolTo Od - Snapshot
Should boolDeallocate - Snapshot
Ttl intIn Hours
- Should
Terminate Vm This property is required. bool - Disk
Should boolDeallocate - Disk
Ttl intIn Hours - Network
Should boolDeallocate - Network
Ttl intIn Hours - Public
Ip boolShould Deallocate - Public
Ip intTtl In Hours - Should
Deregister boolFrom Lb - Should
Revert boolTo Od - Snapshot
Should boolDeallocate - Snapshot
Ttl intIn Hours
- should
Terminate Vm This property is required. Boolean - disk
Should BooleanDeallocate - disk
Ttl IntegerIn Hours - network
Should BooleanDeallocate - network
Ttl IntegerIn Hours - public
Ip BooleanShould Deallocate - public
Ip IntegerTtl In Hours - should
Deregister BooleanFrom Lb - should
Revert BooleanTo Od - snapshot
Should BooleanDeallocate - snapshot
Ttl IntegerIn Hours
- should
Terminate Vm This property is required. boolean - disk
Should booleanDeallocate - disk
Ttl numberIn Hours - network
Should booleanDeallocate - network
Ttl numberIn Hours - public
Ip booleanShould Deallocate - public
Ip numberTtl In Hours - should
Deregister booleanFrom Lb - should
Revert booleanTo Od - snapshot
Should booleanDeallocate - snapshot
Ttl numberIn Hours
- should_
terminate_ vm This property is required. bool - disk_
should_ booldeallocate - disk_
ttl_ intin_ hours - network_
should_ booldeallocate - network_
ttl_ intin_ hours - public_
ip_ boolshould_ deallocate - public_
ip_ intttl_ in_ hours - should_
deregister_ boolfrom_ lb - should_
revert_ boolto_ od - snapshot_
should_ booldeallocate - snapshot_
ttl_ intin_ hours
- should
Terminate Vm This property is required. Boolean - disk
Should BooleanDeallocate - disk
Ttl NumberIn Hours - network
Should BooleanDeallocate - network
Ttl NumberIn Hours - public
Ip BooleanShould Deallocate - public
Ip NumberTtl In Hours - should
Deregister BooleanFrom Lb - should
Revert BooleanTo Od - snapshot
Should BooleanDeallocate - snapshot
Ttl NumberIn Hours
StatefulNodeAzureDetachDataDisk, StatefulNodeAzureDetachDataDiskArgs
- Data
Disk Name This property is required. string - Data
Disk Resource Group Name This property is required. string - Should
Deallocate This property is required. bool - Ttl
In intHours
- Data
Disk Name This property is required. string - Data
Disk Resource Group Name This property is required. string - Should
Deallocate This property is required. bool - Ttl
In intHours
- data
Disk Name This property is required. String - data
Disk Resource Group Name This property is required. String - should
Deallocate This property is required. Boolean - ttl
In IntegerHours
- data
Disk Name This property is required. string - data
Disk Resource Group Name This property is required. string - should
Deallocate This property is required. boolean - ttl
In numberHours
- data_
disk_ name This property is required. str - data_
disk_ resource_ group_ name This property is required. str - should_
deallocate This property is required. bool - ttl_
in_ inthours
- data
Disk Name This property is required. String - data
Disk Resource Group Name This property is required. String - should
Deallocate This property is required. Boolean - ttl
In NumberHours
StatefulNodeAzureExtension, StatefulNodeAzureExtensionArgs
- Api
Version This property is required. string - Minor
Version Auto Upgrade This property is required. bool - Name
This property is required. string - Publisher
This property is required. string - Type
This property is required. string - Protected
Settings Dictionary<string, string> - Public
Settings Dictionary<string, string>
- Api
Version This property is required. string - Minor
Version Auto Upgrade This property is required. bool - Name
This property is required. string - Publisher
This property is required. string - Type
This property is required. string - Protected
Settings map[string]string - Public
Settings map[string]string
- api
Version This property is required. String - minor
Version Auto Upgrade This property is required. Boolean - name
This property is required. String - publisher
This property is required. String - type
This property is required. String - protected
Settings Map<String,String> - public
Settings Map<String,String>
- api
Version This property is required. string - minor
Version Auto Upgrade This property is required. boolean - name
This property is required. string - publisher
This property is required. string - type
This property is required. string - protected
Settings {[key: string]: string} - public
Settings {[key: string]: string}
- api_
version This property is required. str - minor_
version_ auto_ upgrade This property is required. bool - name
This property is required. str - publisher
This property is required. str - type
This property is required. str - protected_
settings Mapping[str, str] - public_
settings Mapping[str, str]
- api
Version This property is required. String - minor
Version Auto Upgrade This property is required. Boolean - name
This property is required. String - publisher
This property is required. String - type
This property is required. String - protected
Settings Map<String> - public
Settings Map<String>
StatefulNodeAzureHealth, StatefulNodeAzureHealthArgs
- Auto
Healing This property is required. bool - Health
Check Types This property is required. List<string> - Grace
Period int - Unhealthy
Duration int
- Auto
Healing This property is required. bool - Health
Check Types This property is required. []string - Grace
Period int - Unhealthy
Duration int
- auto
Healing This property is required. Boolean - health
Check Types This property is required. List<String> - grace
Period Integer - unhealthy
Duration Integer
- auto
Healing This property is required. boolean - health
Check Types This property is required. string[] - grace
Period number - unhealthy
Duration number
- auto_
healing This property is required. bool - health_
check_ types This property is required. Sequence[str] - grace_
period int - unhealthy_
duration int
- auto
Healing This property is required. Boolean - health
Check Types This property is required. List<String> - grace
Period Number - unhealthy
Duration Number
StatefulNodeAzureImage, StatefulNodeAzureImageArgs
StatefulNodeAzureImageCustomImage, StatefulNodeAzureImageCustomImageArgs
- Custom
Image Resource Group Name This property is required. string - Name
This property is required. string
- Custom
Image Resource Group Name This property is required. string - Name
This property is required. string
- custom
Image Resource Group Name This property is required. String - name
This property is required. String
- custom
Image Resource Group Name This property is required. string - name
This property is required. string
- custom_
image_ resource_ group_ name This property is required. str - name
This property is required. str
- custom
Image Resource Group Name This property is required. String - name
This property is required. String
StatefulNodeAzureImageGallery, StatefulNodeAzureImageGalleryArgs
- Gallery
Name This property is required. string - Gallery
Resource Group Name This property is required. string - Image
Name This property is required. string - Version
Name This property is required. string - Spot
Account stringId
- Gallery
Name This property is required. string - Gallery
Resource Group Name This property is required. string - Image
Name This property is required. string - Version
Name This property is required. string - Spot
Account stringId
- gallery
Name This property is required. String - gallery
Resource Group Name This property is required. String - image
Name This property is required. String - version
Name This property is required. String - spot
Account StringId
- gallery
Name This property is required. string - gallery
Resource Group Name This property is required. string - image
Name This property is required. string - version
Name This property is required. string - spot
Account stringId
- gallery_
name This property is required. str - gallery_
resource_ group_ name This property is required. str - image_
name This property is required. str - version_
name This property is required. str - spot_
account_ strid
- gallery
Name This property is required. String - gallery
Resource Group Name This property is required. String - image
Name This property is required. String - version
Name This property is required. String - spot
Account StringId
StatefulNodeAzureImageMarketplaceImage, StatefulNodeAzureImageMarketplaceImageArgs
StatefulNodeAzureImportVm, StatefulNodeAzureImportVmArgs
- Original
Vm Name This property is required. string - Resource
Group Name This property is required. string - Draining
Timeout int - Resources
Retention intTime
- Original
Vm Name This property is required. string - Resource
Group Name This property is required. string - Draining
Timeout int - Resources
Retention intTime
- original
Vm Name This property is required. String - resource
Group Name This property is required. String - draining
Timeout Integer - resources
Retention IntegerTime
- original
Vm Name This property is required. string - resource
Group Name This property is required. string - draining
Timeout number - resources
Retention numberTime
- original_
vm_ name This property is required. str - resource_
group_ name This property is required. str - draining_
timeout int - resources_
retention_ inttime
- original
Vm Name This property is required. String - resource
Group Name This property is required. String - draining
Timeout Number - resources
Retention NumberTime
StatefulNodeAzureLoadBalancer, StatefulNodeAzureLoadBalancerArgs
- Backend
Pool Names This property is required. List<string> - Name
This property is required. string - Resource
Group Name This property is required. string - Type
This property is required. string - Sku string
- Backend
Pool Names This property is required. []string - Name
This property is required. string - Resource
Group Name This property is required. string - Type
This property is required. string - Sku string
- backend
Pool Names This property is required. List<String> - name
This property is required. String - resource
Group Name This property is required. String - type
This property is required. String - sku String
- backend
Pool Names This property is required. string[] - name
This property is required. string - resource
Group Name This property is required. string - type
This property is required. string - sku string
- backend_
pool_ names This property is required. Sequence[str] - name
This property is required. str - resource_
group_ name This property is required. str - type
This property is required. str - sku str
- backend
Pool Names This property is required. List<String> - name
This property is required. String - resource
Group Name This property is required. String - type
This property is required. String - sku String
StatefulNodeAzureLogin, StatefulNodeAzureLoginArgs
- User
Name This property is required. string - Password string
- Ssh
Public stringKey
- User
Name This property is required. string - Password string
- Ssh
Public stringKey
- user
Name This property is required. String - password String
- ssh
Public StringKey
- user
Name This property is required. string - password string
- ssh
Public stringKey
- user_
name This property is required. str - password str
- ssh_
public_ strkey
- user
Name This property is required. String - password String
- ssh
Public StringKey
StatefulNodeAzureManagedServiceIdentity, StatefulNodeAzureManagedServiceIdentityArgs
- Name
This property is required. string - Resource
Group Name This property is required. string
- Name
This property is required. string - Resource
Group Name This property is required. string
- name
This property is required. String - resource
Group Name This property is required. String
- name
This property is required. string - resource
Group Name This property is required. string
- name
This property is required. str - resource_
group_ name This property is required. str
- name
This property is required. String - resource
Group Name This property is required. String
StatefulNodeAzureNetwork, StatefulNodeAzureNetworkArgs
- Network
Interfaces This property is required. List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Network Network Interface> - Network
Resource Group Name This property is required. string - Virtual
Network Name This property is required. string
- Network
Interfaces This property is required. []StatefulNode Azure Network Network Interface - Network
Resource Group Name This property is required. string - Virtual
Network Name This property is required. string
- network
Interfaces This property is required. List<StatefulNode Azure Network Network Interface> - network
Resource Group Name This property is required. String - virtual
Network Name This property is required. String
- network
Interfaces This property is required. StatefulNode Azure Network Network Interface[] - network
Resource Group Name This property is required. string - virtual
Network Name This property is required. string
- network_
interfaces This property is required. Sequence[StatefulNode Azure Network Network Interface] - network_
resource_ group_ name This property is required. str - virtual_
network_ name This property is required. str
- network
Interfaces This property is required. List<Property Map> - network
Resource Group Name This property is required. String - virtual
Network Name This property is required. String
StatefulNodeAzureNetworkNetworkInterface, StatefulNodeAzureNetworkNetworkInterfaceArgs
- Is
Primary This property is required. bool - Subnet
Name This property is required. string - Additional
Ip List<Pulumi.Configurations Spot Inst. Inputs. Stateful Node Azure Network Network Interface Additional Ip Configuration> - Application
Security List<Pulumi.Groups Spot Inst. Inputs. Stateful Node Azure Network Network Interface Application Security Group> - Assign
Public boolIp - Enable
Ip boolForwarding - Network
Security List<Pulumi.Groups Spot Inst. Inputs. Stateful Node Azure Network Network Interface Network Security Group> - Private
Ip List<string>Addresses - Public
Ip stringSku - Public
Ips List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Network Network Interface Public Ip>
- Is
Primary This property is required. bool - Subnet
Name This property is required. string - Additional
Ip []StatefulConfigurations Node Azure Network Network Interface Additional Ip Configuration - Application
Security []StatefulGroups Node Azure Network Network Interface Application Security Group - Assign
Public boolIp - Enable
Ip boolForwarding - Network
Security []StatefulGroups Node Azure Network Network Interface Network Security Group - Private
Ip []stringAddresses - Public
Ip stringSku - Public
Ips []StatefulNode Azure Network Network Interface Public Ip
- is
Primary This property is required. Boolean - subnet
Name This property is required. String - additional
Ip List<StatefulConfigurations Node Azure Network Network Interface Additional Ip Configuration> - application
Security List<StatefulGroups Node Azure Network Network Interface Application Security Group> - assign
Public BooleanIp - enable
Ip BooleanForwarding - network
Security List<StatefulGroups Node Azure Network Network Interface Network Security Group> - private
Ip List<String>Addresses - public
Ip StringSku - public
Ips List<StatefulNode Azure Network Network Interface Public Ip>
- is
Primary This property is required. boolean - subnet
Name This property is required. string - additional
Ip StatefulConfigurations Node Azure Network Network Interface Additional Ip Configuration[] - application
Security StatefulGroups Node Azure Network Network Interface Application Security Group[] - assign
Public booleanIp - enable
Ip booleanForwarding - network
Security StatefulGroups Node Azure Network Network Interface Network Security Group[] - private
Ip string[]Addresses - public
Ip stringSku - public
Ips StatefulNode Azure Network Network Interface Public Ip[]
- is_
primary This property is required. bool - subnet_
name This property is required. str - additional_
ip_ Sequence[Statefulconfigurations Node Azure Network Network Interface Additional Ip Configuration] - application_
security_ Sequence[Statefulgroups Node Azure Network Network Interface Application Security Group] - assign_
public_ boolip - enable_
ip_ boolforwarding - network_
security_ Sequence[Statefulgroups Node Azure Network Network Interface Network Security Group] - private_
ip_ Sequence[str]addresses - public_
ip_ strsku - public_
ips Sequence[StatefulNode Azure Network Network Interface Public Ip]
- is
Primary This property is required. Boolean - subnet
Name This property is required. String - additional
Ip List<Property Map>Configurations - application
Security List<Property Map>Groups - assign
Public BooleanIp - enable
Ip BooleanForwarding - network
Security List<Property Map>Groups - private
Ip List<String>Addresses - public
Ip StringSku - public
Ips List<Property Map>
StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfiguration, StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs
- Name
This property is required. string - Private
Ip Address Version This property is required. string
- Name
This property is required. string - Private
Ip Address Version This property is required. string
- name
This property is required. String - private
Ip Address Version This property is required. String
- name
This property is required. string - private
Ip Address Version This property is required. string
- name
This property is required. str - private_
ip_ address_ version This property is required. str
- name
This property is required. String - private
Ip Address Version This property is required. String
StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroup, StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs
- Name
This property is required. string - Network
Resource Group Name This property is required. string
- Name
This property is required. string - Network
Resource Group Name This property is required. string
- name
This property is required. String - network
Resource Group Name This property is required. String
- name
This property is required. string - network
Resource Group Name This property is required. string
- name
This property is required. str - network_
resource_ group_ name This property is required. str
- name
This property is required. String - network
Resource Group Name This property is required. String
StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroup, StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArgs
- Name string
- Network
Resource stringGroup Name
- Name string
- Network
Resource stringGroup Name
- name String
- network
Resource StringGroup Name
- name string
- network
Resource stringGroup Name
- name str
- network_
resource_ strgroup_ name
- name String
- network
Resource StringGroup Name
StatefulNodeAzureNetworkNetworkInterfacePublicIp, StatefulNodeAzureNetworkNetworkInterfacePublicIpArgs
- Name
This property is required. string - Network
Resource Group Name This property is required. string
- Name
This property is required. string - Network
Resource Group Name This property is required. string
- name
This property is required. String - network
Resource Group Name This property is required. String
- name
This property is required. string - network
Resource Group Name This property is required. string
- name
This property is required. str - network_
resource_ group_ name This property is required. str
- name
This property is required. String - network
Resource Group Name This property is required. String
StatefulNodeAzureOsDisk, StatefulNodeAzureOsDiskArgs
StatefulNodeAzureProximityPlacementGroup, StatefulNodeAzureProximityPlacementGroupArgs
- Name
This property is required. string - Resource
Group Name This property is required. string
- Name
This property is required. string - Resource
Group Name This property is required. string
- name
This property is required. String - resource
Group Name This property is required. String
- name
This property is required. string - resource
Group Name This property is required. string
- name
This property is required. str - resource_
group_ name This property is required. str
- name
This property is required. String - resource
Group Name This property is required. String
StatefulNodeAzureSchedulingTask, StatefulNodeAzureSchedulingTaskArgs
- Cron
Expression This property is required. string - Is
Enabled This property is required. bool - Type
This property is required. string
- Cron
Expression This property is required. string - Is
Enabled This property is required. bool - Type
This property is required. string
- cron
Expression This property is required. String - is
Enabled This property is required. Boolean - type
This property is required. String
- cron
Expression This property is required. string - is
Enabled This property is required. boolean - type
This property is required. string
- cron_
expression This property is required. str - is_
enabled This property is required. bool - type
This property is required. str
- cron
Expression This property is required. String - is
Enabled This property is required. Boolean - type
This property is required. String
StatefulNodeAzureSecret, StatefulNodeAzureSecretArgs
- Source
Vaults This property is required. List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Secret Source Vault> - Vault
Certificates This property is required. List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Secret Vault Certificate>
- Source
Vaults This property is required. []StatefulNode Azure Secret Source Vault - Vault
Certificates This property is required. []StatefulNode Azure Secret Vault Certificate
- source
Vaults This property is required. List<StatefulNode Azure Secret Source Vault> - vault
Certificates This property is required. List<StatefulNode Azure Secret Vault Certificate>
- source
Vaults This property is required. StatefulNode Azure Secret Source Vault[] - vault
Certificates This property is required. StatefulNode Azure Secret Vault Certificate[]
- source_
vaults This property is required. Sequence[StatefulNode Azure Secret Source Vault] - vault_
certificates This property is required. Sequence[StatefulNode Azure Secret Vault Certificate]
- source
Vaults This property is required. List<Property Map> - vault
Certificates This property is required. List<Property Map>
StatefulNodeAzureSecretSourceVault, StatefulNodeAzureSecretSourceVaultArgs
- Name
This property is required. string - Resource
Group Name This property is required. string
- Name
This property is required. string - Resource
Group Name This property is required. string
- name
This property is required. String - resource
Group Name This property is required. String
- name
This property is required. string - resource
Group Name This property is required. string
- name
This property is required. str - resource_
group_ name This property is required. str
- name
This property is required. String - resource
Group Name This property is required. String
StatefulNodeAzureSecretVaultCertificate, StatefulNodeAzureSecretVaultCertificateArgs
- Certificate
Store string - Certificate
Url string
- Certificate
Store string - Certificate
Url string
- certificate
Store String - certificate
Url String
- certificate
Store string - certificate
Url string
- certificate_
store str - certificate_
url str
- certificate
Store String - certificate
Url String
StatefulNodeAzureSecurity, StatefulNodeAzureSecurityArgs
- Confidential
Os boolDisk Encryption - Encryption
At boolHost - Secure
Boot boolEnabled - Security
Type string - Vtpm
Enabled bool
- Confidential
Os boolDisk Encryption - Encryption
At boolHost - Secure
Boot boolEnabled - Security
Type string - Vtpm
Enabled bool
- confidential
Os BooleanDisk Encryption - encryption
At BooleanHost - secure
Boot BooleanEnabled - security
Type String - vtpm
Enabled Boolean
- confidential
Os booleanDisk Encryption - encryption
At booleanHost - secure
Boot booleanEnabled - security
Type string - vtpm
Enabled boolean
- confidential_
os_ booldisk_ encryption - encryption_
at_ boolhost - secure_
boot_ boolenabled - security_
type str - vtpm_
enabled bool
- confidential
Os BooleanDisk Encryption - encryption
At BooleanHost - secure
Boot BooleanEnabled - security
Type String - vtpm
Enabled Boolean
StatefulNodeAzureSignal, StatefulNodeAzureSignalArgs
StatefulNodeAzureStrategy, StatefulNodeAzureStrategyArgs
- Fallback
To On Demand This property is required. bool - Availability
Vs intCost - Capacity
Reservations List<Pulumi.Spot Inst. Inputs. Stateful Node Azure Strategy Capacity Reservation> - Draining
Timeout int - Od
Windows List<string> - Optimization
Windows List<string> - Preferred
Life stringCycle - Revert
To Pulumi.Spot Spot Inst. Inputs. Stateful Node Azure Strategy Revert To Spot - Vm
Admins List<string>
- Fallback
To On Demand This property is required. bool - Availability
Vs intCost - Capacity
Reservations []StatefulNode Azure Strategy Capacity Reservation - Draining
Timeout int - Od
Windows []string - Optimization
Windows []string - Preferred
Life stringCycle - Revert
To StatefulSpot Node Azure Strategy Revert To Spot - Vm
Admins []string
- fallback
To On Demand This property is required. Boolean - availability
Vs IntegerCost - capacity
Reservations List<StatefulNode Azure Strategy Capacity Reservation> - draining
Timeout Integer - od
Windows List<String> - optimization
Windows List<String> - preferred
Life StringCycle - revert
To StatefulSpot Node Azure Strategy Revert To Spot - vm
Admins List<String>
- fallback
To On Demand This property is required. boolean - availability
Vs numberCost - capacity
Reservations StatefulNode Azure Strategy Capacity Reservation[] - draining
Timeout number - od
Windows string[] - optimization
Windows string[] - preferred
Life stringCycle - revert
To StatefulSpot Node Azure Strategy Revert To Spot - vm
Admins string[]
- fallback_
to_ on_ demand This property is required. bool - availability_
vs_ intcost - capacity_
reservations Sequence[StatefulNode Azure Strategy Capacity Reservation] - draining_
timeout int - od_
windows Sequence[str] - optimization_
windows Sequence[str] - preferred_
life_ strcycle - revert_
to_ Statefulspot Node Azure Strategy Revert To Spot - vm_
admins Sequence[str]
- fallback
To On Demand This property is required. Boolean - availability
Vs NumberCost - capacity
Reservations List<Property Map> - draining
Timeout Number - od
Windows List<String> - optimization
Windows List<String> - preferred
Life StringCycle - revert
To Property MapSpot - vm
Admins List<String>
StatefulNodeAzureStrategyCapacityReservation, StatefulNodeAzureStrategyCapacityReservationArgs
- Should
Utilize This property is required. bool - Utilization
Strategy This property is required. string - Capacity
Reservation List<Pulumi.Groups Spot Inst. Inputs. Stateful Node Azure Strategy Capacity Reservation Capacity Reservation Group>
- Should
Utilize This property is required. bool - Utilization
Strategy This property is required. string - Capacity
Reservation []StatefulGroups Node Azure Strategy Capacity Reservation Capacity Reservation Group
- should
Utilize This property is required. Boolean - utilization
Strategy This property is required. String - capacity
Reservation List<StatefulGroups Node Azure Strategy Capacity Reservation Capacity Reservation Group>
- should
Utilize This property is required. boolean - utilization
Strategy This property is required. string - capacity
Reservation StatefulGroups Node Azure Strategy Capacity Reservation Capacity Reservation Group[]
- should_
utilize This property is required. bool - utilization_
strategy This property is required. str - capacity_
reservation_ Sequence[Statefulgroups Node Azure Strategy Capacity Reservation Capacity Reservation Group]
- should
Utilize This property is required. Boolean - utilization
Strategy This property is required. String - capacity
Reservation List<Property Map>Groups
StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroup, StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs
- Crg
Name This property is required. string - Crg
Resource Group Name This property is required. string - Crg
Should boolPrioritize
- Crg
Name This property is required. string - Crg
Resource Group Name This property is required. string - Crg
Should boolPrioritize
- crg
Name This property is required. String - crg
Resource Group Name This property is required. String - crg
Should BooleanPrioritize
- crg
Name This property is required. string - crg
Resource Group Name This property is required. string - crg
Should booleanPrioritize
- crg_
name This property is required. str - crg_
resource_ group_ name This property is required. str - crg_
should_ boolprioritize
- crg
Name This property is required. String - crg
Resource Group Name This property is required. String - crg
Should BooleanPrioritize
StatefulNodeAzureStrategyRevertToSpot, StatefulNodeAzureStrategyRevertToSpotArgs
- Perform
At This property is required. string
- Perform
At This property is required. string
- perform
At This property is required. String
- perform
At This property is required. string
- perform_
at This property is required. str
- perform
At This property is required. String
StatefulNodeAzureTag, StatefulNodeAzureTagArgs
StatefulNodeAzureUpdateState, StatefulNodeAzureUpdateStateArgs
- State
This property is required. string
- State
This property is required. string
- state
This property is required. String
- state
This property is required. string
- state
This property is required. str
- state
This property is required. String
StatefulNodeAzureVmSizes, StatefulNodeAzureVmSizesArgs
- Od
Sizes This property is required. List<string> - Excluded
Vm List<string>Sizes - Preferred
Spot List<string>Sizes - Spot
Size Pulumi.Attributes Spot Inst. Inputs. Stateful Node Azure Vm Sizes Spot Size Attributes - Spot
Sizes List<string>
- Od
Sizes This property is required. []string - Excluded
Vm []stringSizes - Preferred
Spot []stringSizes - Spot
Size StatefulAttributes Node Azure Vm Sizes Spot Size Attributes - Spot
Sizes []string
- od
Sizes This property is required. List<String> - excluded
Vm List<String>Sizes - preferred
Spot List<String>Sizes - spot
Size StatefulAttributes Node Azure Vm Sizes Spot Size Attributes - spot
Sizes List<String>
- od
Sizes This property is required. string[] - excluded
Vm string[]Sizes - preferred
Spot string[]Sizes - spot
Size StatefulAttributes Node Azure Vm Sizes Spot Size Attributes - spot
Sizes string[]
- od_
sizes This property is required. Sequence[str] - excluded_
vm_ Sequence[str]sizes - preferred_
spot_ Sequence[str]sizes - spot_
size_ Statefulattributes Node Azure Vm Sizes Spot Size Attributes - spot_
sizes Sequence[str]
- od
Sizes This property is required. List<String> - excluded
Vm List<String>Sizes - preferred
Spot List<String>Sizes - spot
Size Property MapAttributes - spot
Sizes List<String>
StatefulNodeAzureVmSizesSpotSizeAttributes, StatefulNodeAzureVmSizesSpotSizeAttributesArgs
- Max
Cpu int - Max
Memory int - Max
Storage int - Min
Cpu int - Min
Memory int - Min
Storage int
- Max
Cpu int - Max
Memory int - Max
Storage int - Min
Cpu int - Min
Memory int - Min
Storage int
- max
Cpu Integer - max
Memory Integer - max
Storage Integer - min
Cpu Integer - min
Memory Integer - min
Storage Integer
- max
Cpu number - max
Memory number - max
Storage number - min
Cpu number - min
Memory number - min
Storage number
- max_
cpu int - max_
memory int - max_
storage int - min_
cpu int - min_
memory int - min_
storage int
- max
Cpu Number - max
Memory Number - max
Storage Number - min
Cpu Number - min
Memory Number - min
Storage Number
Package Details
- Repository
- Spotinst pulumi/pulumi-spotinst
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
spotinst
Terraform Provider.
- Example Usage
- Strategy
- Compute
- Boot Diagnostics
- Data Disks
- Extensions
- Image
- Load Balancer
- Login
- Managed Service Identities
- Proximity Placement Groups
- Network
- OS Disk
- Secret
- Security
- Tag
- Health
- Persistence
- Scheduling Tasks
- Signals
- Attach Data Disk
- Detach Data Disk
- Update State
- Import VM
- Deallocation Config
- Create StatefulNodeAzure Resource
- Constructor syntax
- Constructor example
- StatefulNodeAzure Resource Properties
- Inputs
- Outputs
- Look up Existing StatefulNodeAzure Resource
- Supporting Types
- Package Details