spotinst.StatefulNodeAzure
Explore with Pulumi AI
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"],
},
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,
}],
});
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"],
},
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,
}])
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"),
},
},
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),
},
},
})
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",
},
},
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,
},
},
});
});
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.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")
.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)
.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
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
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
- (Required) Available Spot-VM sizes.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.
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
- (Required) 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
- (Required) 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
- (Required) 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
- (Required) 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’.
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 string
- The unique name of the resource.
- args StatefulNodeAzureArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args 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 string
- The unique name of the resource.
- args StatefulNodeAzureArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args StatefulNodeAzureArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args 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",
},
SpotSizes = new[]
{
"string",
},
PreferredSpotSizes = 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
{
DiskShouldDeallocate = false,
NetworkShouldDeallocate = false,
PublicIpShouldDeallocate = false,
ShouldTerminateVm = false,
SnapshotShouldDeallocate = false,
DiskTtlInHours = 0,
NetworkTtlInHours = 0,
PublicIpTtlInHours = 0,
ShouldDeregisterFromLb = 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"),
},
SpotSizes: pulumi.StringArray{
pulumi.String("string"),
},
PreferredSpotSizes: 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{
DiskShouldDeallocate: pulumi.Bool(false),
NetworkShouldDeallocate: pulumi.Bool(false),
PublicIpShouldDeallocate: pulumi.Bool(false),
ShouldTerminateVm: pulumi.Bool(false),
SnapshotShouldDeallocate: pulumi.Bool(false),
DiskTtlInHours: pulumi.Int(0),
NetworkTtlInHours: pulumi.Int(0),
PublicIpTtlInHours: pulumi.Int(0),
ShouldDeregisterFromLb: 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")
.spotSizes("string")
.preferredSpotSizes("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()
.diskShouldDeallocate(false)
.networkShouldDeallocate(false)
.publicIpShouldDeallocate(false)
.shouldTerminateVm(false)
.snapshotShouldDeallocate(false)
.diskTtlInHours(0)
.networkTtlInHours(0)
.publicIpTtlInHours(0)
.shouldDeregisterFromLb(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"],
"spot_sizes": ["string"],
"preferred_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=[{
"disk_should_deallocate": False,
"network_should_deallocate": False,
"public_ip_should_deallocate": False,
"should_terminate_vm": False,
"snapshot_should_deallocate": False,
"disk_ttl_in_hours": 0,
"network_ttl_in_hours": 0,
"public_ip_ttl_in_hours": 0,
"should_deregister_from_lb": 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"],
spotSizes: ["string"],
preferredSpotSizes: ["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: [{
diskShouldDeallocate: false,
networkShouldDeallocate: false,
publicIpShouldDeallocate: false,
shouldTerminateVm: false,
snapshotShouldDeallocate: false,
diskTtlInHours: 0,
networkTtlInHours: 0,
publicIpTtlInHours: 0,
shouldDeregisterFromLb: 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
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:
odSizes:
- string
preferredSpotSizes:
- string
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 string
- Region string
- Resource
Group stringName - Should
Persist boolData Disks - Should
Persist boolNetwork - Should
Persist boolOs Disk - Strategy
Pulumi.
Spot Inst. Inputs. Stateful Node Azure Strategy - Vm
Sizes 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 string
- Region string
- Resource
Group stringName - Should
Persist boolData Disks - Should
Persist boolNetwork - Should
Persist boolOs Disk - Strategy
Stateful
Node Azure Strategy Args - Vm
Sizes 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 String
- region String
- resource
Group StringName - should
Persist BooleanData Disks - should
Persist BooleanNetwork - should
Persist BooleanOs Disk - strategy
Stateful
Node Azure Strategy - vm
Sizes 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 string
- region string
- resource
Group stringName - should
Persist booleanData Disks - should
Persist booleanNetwork - should
Persist booleanOs Disk - strategy
Stateful
Node Azure Strategy - vm
Sizes 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 str
- region str
- resource_
group_ strname - should_
persist_ booldata_ disks - should_
persist_ boolnetwork - should_
persist_ boolos_ disk - strategy
Stateful
Node Azure Strategy Args - vm_
sizes 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 String
- region String
- resource
Group StringName - should
Persist BooleanData Disks - should
Persist BooleanNetwork - should
Persist BooleanOs Disk - strategy Property Map
- vm
Sizes 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)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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 stringName - Data
Disk stringResource Group Name - Size
Gb int - Storage
Account stringType - Lun int
- Zone string
- Data
Disk stringName - Data
Disk stringResource Group Name - Size
Gb int - Storage
Account stringType - Lun int
- Zone string
- data
Disk StringName - data
Disk StringResource Group Name - size
Gb Integer - storage
Account StringType - lun Integer
- zone String
- data
Disk stringName - data
Disk stringResource Group Name - size
Gb number - storage
Account stringType - lun number
- zone string
- data_
disk_ strname - data_
disk_ strresource_ group_ name - size_
gb int - storage_
account_ strtype - lun int
- zone str
- data
Disk StringName - data
Disk StringResource Group Name - size
Gb Number - storage
Account StringType - 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
- disk
Should BooleanDeallocate - network
Should BooleanDeallocate - public
Ip BooleanShould Deallocate - should
Terminate BooleanVm - snapshot
Should BooleanDeallocate - disk
Ttl IntegerIn Hours - network
Ttl IntegerIn Hours - public
Ip IntegerTtl In Hours - should
Deregister BooleanFrom Lb - snapshot
Ttl IntegerIn Hours
- disk
Should booleanDeallocate - network
Should booleanDeallocate - public
Ip booleanShould Deallocate - should
Terminate booleanVm - snapshot
Should booleanDeallocate - disk
Ttl numberIn Hours - network
Ttl numberIn Hours - public
Ip numberTtl In Hours - should
Deregister booleanFrom Lb - snapshot
Ttl numberIn Hours
- disk
Should BooleanDeallocate - network
Should BooleanDeallocate - public
Ip BooleanShould Deallocate - should
Terminate BooleanVm - snapshot
Should BooleanDeallocate - disk
Ttl NumberIn Hours - network
Ttl NumberIn Hours - public
Ip NumberTtl In Hours - should
Deregister BooleanFrom Lb - snapshot
Ttl NumberIn Hours
StatefulNodeAzureDetachDataDisk, StatefulNodeAzureDetachDataDiskArgs
- Data
Disk stringName - Data
Disk stringResource Group Name - Should
Deallocate bool - Ttl
In intHours
- Data
Disk stringName - Data
Disk stringResource Group Name - Should
Deallocate bool - Ttl
In intHours
- data
Disk StringName - data
Disk StringResource Group Name - should
Deallocate Boolean - ttl
In IntegerHours
- data
Disk stringName - data
Disk stringResource Group Name - should
Deallocate boolean - ttl
In numberHours
- data
Disk StringName - data
Disk StringResource Group Name - should
Deallocate Boolean - ttl
In NumberHours
StatefulNodeAzureExtension, StatefulNodeAzureExtensionArgs
- Api
Version string - Minor
Version boolAuto Upgrade - Name string
- Publisher string
- Type string
- Protected
Settings Dictionary<string, string> - Public
Settings Dictionary<string, string>
- Api
Version string - Minor
Version boolAuto Upgrade - Name string
- Publisher string
- Type string
- Protected
Settings map[string]string - Public
Settings map[string]string
- api
Version String - minor
Version BooleanAuto Upgrade - name String
- publisher String
- type String
- protected
Settings Map<String,String> - public
Settings Map<String,String>
- api
Version string - minor
Version booleanAuto Upgrade - name string
- publisher string
- type string
- protected
Settings {[key: string]: string} - public
Settings {[key: string]: string}
- api_
version str - minor_
version_ boolauto_ upgrade - name str
- publisher str
- type str
- protected_
settings Mapping[str, str] - public_
settings Mapping[str, str]
- api
Version String - minor
Version BooleanAuto Upgrade - name String
- publisher String
- type String
- protected
Settings Map<String> - public
Settings Map<String>
StatefulNodeAzureHealth, StatefulNodeAzureHealthArgs
- Auto
Healing bool - Health
Check List<string>Types - Grace
Period int - Unhealthy
Duration int
- Auto
Healing bool - Health
Check []stringTypes - Grace
Period int - Unhealthy
Duration int
- auto
Healing Boolean - health
Check List<String>Types - grace
Period Integer - unhealthy
Duration Integer
- auto
Healing boolean - health
Check string[]Types - grace
Period number - unhealthy
Duration number
- auto_
healing bool - health_
check_ Sequence[str]types - grace_
period int - unhealthy_
duration int
- auto
Healing Boolean - health
Check List<String>Types - grace
Period Number - unhealthy
Duration Number
StatefulNodeAzureImage, StatefulNodeAzureImageArgs
StatefulNodeAzureImageCustomImage, StatefulNodeAzureImageCustomImageArgs
- Custom
Image stringResource Group Name - Name string
- Custom
Image stringResource Group Name - Name string
- custom
Image StringResource Group Name - name String
- custom
Image stringResource Group Name - name string
- custom
Image StringResource Group Name - name String
StatefulNodeAzureImageGallery, StatefulNodeAzureImageGalleryArgs
- Gallery
Name string - Gallery
Resource stringGroup Name - Image
Name string - Version
Name string - Spot
Account stringId
- Gallery
Name string - Gallery
Resource stringGroup Name - Image
Name string - Version
Name string - Spot
Account stringId
- gallery
Name String - gallery
Resource StringGroup Name - image
Name String - version
Name String - spot
Account StringId
- gallery
Name string - gallery
Resource stringGroup Name - image
Name string - version
Name string - spot
Account stringId
- gallery_
name str - gallery_
resource_ strgroup_ name - image_
name str - version_
name str - spot_
account_ strid
- gallery
Name String - gallery
Resource StringGroup Name - image
Name String - version
Name String - spot
Account StringId
StatefulNodeAzureImageMarketplaceImage, StatefulNodeAzureImageMarketplaceImageArgs
StatefulNodeAzureImportVm, StatefulNodeAzureImportVmArgs
- Original
Vm stringName - Resource
Group stringName - Draining
Timeout int - Resources
Retention intTime
- Original
Vm stringName - Resource
Group stringName - Draining
Timeout int - Resources
Retention intTime
- original
Vm StringName - resource
Group StringName - draining
Timeout Integer - resources
Retention IntegerTime
- original
Vm stringName - resource
Group stringName - draining
Timeout number - resources
Retention numberTime
- original
Vm StringName - resource
Group StringName - draining
Timeout Number - resources
Retention NumberTime
StatefulNodeAzureLoadBalancer, StatefulNodeAzureLoadBalancerArgs
- Backend
Pool List<string>Names - Name string
- Resource
Group stringName - Type string
- Sku string
- Backend
Pool []stringNames - Name string
- Resource
Group stringName - Type string
- Sku string
- backend
Pool List<String>Names - name String
- resource
Group StringName - type String
- sku String
- backend
Pool string[]Names - name string
- resource
Group stringName - type string
- sku string
- backend_
pool_ Sequence[str]names - name str
- resource_
group_ strname - type str
- sku str
- backend
Pool List<String>Names - name String
- resource
Group StringName - type String
- sku String
StatefulNodeAzureLogin, StatefulNodeAzureLoginArgs
- User
Name string - Password string
- Ssh
Public stringKey
- User
Name string - Password string
- Ssh
Public stringKey
- user
Name String - password String
- ssh
Public StringKey
- user
Name string - password string
- ssh
Public stringKey
- user_
name str - password str
- ssh_
public_ strkey
- user
Name String - password String
- ssh
Public StringKey
StatefulNodeAzureManagedServiceIdentity, StatefulNodeAzureManagedServiceIdentityArgs
- Name string
- Resource
Group stringName
- Name string
- Resource
Group stringName
- name String
- resource
Group StringName
- name string
- resource
Group stringName
- name str
- resource_
group_ strname
- name String
- resource
Group StringName
StatefulNodeAzureNetwork, StatefulNodeAzureNetworkArgs
StatefulNodeAzureNetworkNetworkInterface, StatefulNodeAzureNetworkNetworkInterfaceArgs
- Is
Primary bool - Subnet
Name 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 bool - Subnet
Name 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 Boolean - subnet
Name 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 boolean - subnet
Name 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 bool - subnet_
name 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]
StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfiguration, StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs
- Name string
- Private
Ip stringAddress Version
- Name string
- Private
Ip stringAddress Version
- name String
- private
Ip StringAddress Version
- name string
- private
Ip stringAddress Version
- name str
- private_
ip_ straddress_ version
- name String
- private
Ip StringAddress Version
StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroup, StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs
- 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
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 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
StatefulNodeAzureOsDisk, StatefulNodeAzureOsDiskArgs
StatefulNodeAzureProximityPlacementGroup, StatefulNodeAzureProximityPlacementGroupArgs
- Name string
- Resource
Group stringName
- Name string
- Resource
Group stringName
- name String
- resource
Group StringName
- name string
- resource
Group stringName
- name str
- resource_
group_ strname
- name String
- resource
Group StringName
StatefulNodeAzureSchedulingTask, StatefulNodeAzureSchedulingTaskArgs
- Cron
Expression string - Is
Enabled bool - Type string
- Cron
Expression string - Is
Enabled bool - Type string
- cron
Expression String - is
Enabled Boolean - type String
- cron
Expression string - is
Enabled boolean - type string
- cron_
expression str - is_
enabled bool - type str
- cron
Expression String - is
Enabled Boolean - type String
StatefulNodeAzureSecret, StatefulNodeAzureSecretArgs
StatefulNodeAzureSecretSourceVault, StatefulNodeAzureSecretSourceVaultArgs
- Name string
- Resource
Group stringName
- Name string
- Resource
Group stringName
- name String
- resource
Group StringName
- name string
- resource
Group stringName
- name str
- resource_
group_ strname
- name String
- resource
Group StringName
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 boolOn Demand - 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 BooleanOn Demand - 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 booleanOn Demand - 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_ boolon_ demand - 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 BooleanOn Demand - 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
StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroup, StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs
- Crg
Name string - Crg
Resource stringGroup Name - Crg
Should boolPrioritize
- Crg
Name string - Crg
Resource stringGroup Name - Crg
Should boolPrioritize
- crg
Name String - crg
Resource StringGroup Name - crg
Should BooleanPrioritize
- crg
Name string - crg
Resource stringGroup Name - crg
Should booleanPrioritize
- crg_
name str - crg_
resource_ strgroup_ name - crg_
should_ boolprioritize
- crg
Name String - crg
Resource StringGroup Name - crg
Should BooleanPrioritize
StatefulNodeAzureStrategyRevertToSpot, StatefulNodeAzureStrategyRevertToSpotArgs
- Perform
At string
- Perform
At string
- perform
At String
- perform
At string
- perform_
at str
- perform
At String
StatefulNodeAzureTag, StatefulNodeAzureTagArgs
StatefulNodeAzureUpdateState, StatefulNodeAzureUpdateStateArgs
- State string
- State string
- state String
- state string
- state str
- state String
StatefulNodeAzureVmSizes, StatefulNodeAzureVmSizesArgs
- Od
Sizes List<string> - Spot
Sizes List<string> - Preferred
Spot List<string>Sizes
- Od
Sizes []string - Spot
Sizes []string - Preferred
Spot []stringSizes
- od
Sizes List<String> - spot
Sizes List<String> - preferred
Spot List<String>Sizes
- od
Sizes string[] - spot
Sizes string[] - preferred
Spot string[]Sizes
- od_
sizes Sequence[str] - spot_
sizes Sequence[str] - preferred_
spot_ Sequence[str]sizes
- od
Sizes List<String> - spot
Sizes List<String> - preferred
Spot List<String>Sizes
Package Details
- Repository
- Spotinst pulumi/pulumi-spotinst
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
spotinst
Terraform Provider.