@pulumi/spotinst 3.18.0-alpha.1650647378 → 3.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from "./dataIntegration";
2
2
  export * from "./elastigroupAzureV3";
3
3
  export * from "./healthCheck";
4
4
  export * from "./provider";
5
+ export * from "./statefulNodeAzure";
5
6
  export * from "./subscription";
6
7
  import * as aws from "./aws";
7
8
  import * as azure from "./azure";
package/index.js CHANGED
@@ -24,6 +24,7 @@ __exportStar(require("./dataIntegration"), exports);
24
24
  __exportStar(require("./elastigroupAzureV3"), exports);
25
25
  __exportStar(require("./healthCheck"), exports);
26
26
  __exportStar(require("./provider"), exports);
27
+ __exportStar(require("./statefulNodeAzure"), exports);
27
28
  __exportStar(require("./subscription"), exports);
28
29
  // Export sub-modules:
29
30
  const aws = require("./aws");
@@ -46,6 +47,7 @@ exports.types = types;
46
47
  const dataIntegration_1 = require("./dataIntegration");
47
48
  const elastigroupAzureV3_1 = require("./elastigroupAzureV3");
48
49
  const healthCheck_1 = require("./healthCheck");
50
+ const statefulNodeAzure_1 = require("./statefulNodeAzure");
49
51
  const subscription_1 = require("./subscription");
50
52
  const _module = {
51
53
  version: utilities.getVersion(),
@@ -57,6 +59,8 @@ const _module = {
57
59
  return new elastigroupAzureV3_1.ElastigroupAzureV3(name, undefined, { urn });
58
60
  case "spotinst:index/healthCheck:HealthCheck":
59
61
  return new healthCheck_1.HealthCheck(name, undefined, { urn });
62
+ case "spotinst:index/statefulNodeAzure:StatefulNodeAzure":
63
+ return new statefulNodeAzure_1.StatefulNodeAzure(name, undefined, { urn });
60
64
  case "spotinst:index/subscription:Subscription":
61
65
  return new subscription_1.Subscription(name, undefined, { urn });
62
66
  default:
@@ -67,6 +71,7 @@ const _module = {
67
71
  pulumi.runtime.registerResourceModule("spotinst", "index/dataIntegration", _module);
68
72
  pulumi.runtime.registerResourceModule("spotinst", "index/elastigroupAzureV3", _module);
69
73
  pulumi.runtime.registerResourceModule("spotinst", "index/healthCheck", _module);
74
+ pulumi.runtime.registerResourceModule("spotinst", "index/statefulNodeAzure", _module);
70
75
  pulumi.runtime.registerResourceModule("spotinst", "index/subscription", _module);
71
76
  const provider_1 = require("./provider");
72
77
  pulumi.runtime.registerResourcePackage("spotinst", {
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;;;;;;;;;;;;;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC,kBAAkB;AAClB,oDAAkC;AAClC,uDAAqC;AACrC,gDAA8B;AAC9B,6CAA2B;AAC3B,iDAA+B;AAE/B,sBAAsB;AACtB,6BAA6B;AAUzB,kBAAG;AATP,iCAAiC;AAU7B,sBAAK;AATT,mCAAmC;AAU/B,wBAAM;AATV,6BAA6B;AAUzB,kBAAG;AATP,6BAA6B;AAUzB,kBAAG;AATP,6BAA6B;AAUzB,kBAAG;AATP,mCAAmC;AAU/B,wBAAM;AATV,iCAAiC;AAU7B,sBAAK;AAGT,gCAAgC;AAChC,uDAAoD;AACpD,6DAA0D;AAC1D,+CAA4C;AAC5C,iDAA8C;AAE9C,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,gDAAgD;gBACjD,OAAO,IAAI,iCAAe,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC7D,KAAK,sDAAsD;gBACvD,OAAO,IAAI,uCAAkB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAChE,KAAK,wCAAwC;gBACzC,OAAO,IAAI,yBAAW,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACzD,KAAK,0CAA0C;gBAC3C,OAAO,IAAI,2BAAY,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1D;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAA;AACnF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAA;AACtF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAA;AAC/E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAA;AAEhF,yCAAsC;AAEtC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,UAAU,EAAE;IAC/C,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,iBAAiB,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAA2B,EAAE;QACpF,IAAI,IAAI,KAAK,2BAA2B,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,mBAAQ,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;;;;;;;;;;;;;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC,kBAAkB;AAClB,oDAAkC;AAClC,uDAAqC;AACrC,gDAA8B;AAC9B,6CAA2B;AAC3B,sDAAoC;AACpC,iDAA+B;AAE/B,sBAAsB;AACtB,6BAA6B;AAUzB,kBAAG;AATP,iCAAiC;AAU7B,sBAAK;AATT,mCAAmC;AAU/B,wBAAM;AATV,6BAA6B;AAUzB,kBAAG;AATP,6BAA6B;AAUzB,kBAAG;AATP,6BAA6B;AAUzB,kBAAG;AATP,mCAAmC;AAU/B,wBAAM;AATV,iCAAiC;AAU7B,sBAAK;AAGT,gCAAgC;AAChC,uDAAoD;AACpD,6DAA0D;AAC1D,+CAA4C;AAC5C,2DAAwD;AACxD,iDAA8C;AAE9C,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,gDAAgD;gBACjD,OAAO,IAAI,iCAAe,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC7D,KAAK,sDAAsD;gBACvD,OAAO,IAAI,uCAAkB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAChE,KAAK,wCAAwC;gBACzC,OAAO,IAAI,yBAAW,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACzD,KAAK,oDAAoD;gBACrD,OAAO,IAAI,qCAAiB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC/D,KAAK,0CAA0C;gBAC3C,OAAO,IAAI,2BAAY,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1D;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAA;AACnF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAA;AACtF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAA;AAC/E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAA;AACrF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAA;AAEhF,yCAAsC;AAEtC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,UAAU,EAAE;IAC/C,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,iBAAiB,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAA2B,EAAE;QACpF,IAAI,IAAI,KAAK,2BAA2B,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,mBAAQ,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/spotinst",
3
- "version": "v3.18.0-alpha.1650647378+e5bab129",
3
+ "version": "v3.18.0",
4
4
  "description": "A Pulumi package for creating and managing spotinst cloud resources.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -11,7 +11,7 @@
11
11
  "license": "Apache-2.0",
12
12
  "scripts": {
13
13
  "build": "tsc",
14
- "install": "node scripts/install-pulumi-plugin.js resource spotinst v3.18.0-alpha.1650647378+e5bab129"
14
+ "install": "node scripts/install-pulumi-plugin.js resource spotinst v3.18.0"
15
15
  },
16
16
  "dependencies": {
17
17
  "@pulumi/pulumi": "^3.0.0"
package/package.json.dev CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/spotinst",
3
- "version": "v3.18.0-alpha.1650647378+e5bab129",
3
+ "version": "v3.18.0",
4
4
  "description": "A Pulumi package for creating and managing spotinst cloud resources.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -11,7 +11,7 @@
11
11
  "license": "Apache-2.0",
12
12
  "scripts": {
13
13
  "build": "tsc",
14
- "install": "node scripts/install-pulumi-plugin.js resource spotinst v3.18.0-alpha.1650647378+e5bab129"
14
+ "install": "node scripts/install-pulumi-plugin.js resource spotinst v3.18.0"
15
15
  },
16
16
  "dependencies": {
17
17
  "@pulumi/pulumi": "^3.0.0"
@@ -0,0 +1,373 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "./types";
3
+ /**
4
+ * Provides a Spotinst stateful node Azure resource.
5
+ *
6
+ * ## Strategy
7
+ *
8
+ * * `strategy` - (Required) Strategy for stateful node.
9
+ * * `drainingTimeout` - (Optional, Default `120`) 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.
10
+ * * `fallbackToOnDemand` - (Required) In case of no spots available, Stateful Node will launch an On-demand instance instead.
11
+ * * `optimizationWindows` - (Optional) Valid format: "ddd:hh:mm-ddd:hh:mm (day:hour(0-23):minute(0-59))", not empty if revertToSpot.performAt = timeWindow.
12
+ * * `preferredLifeCycle` - (Optional, Enum `"od", "spot"`, Default `"spot"`) The desired type of VM.
13
+ * * `revertToSpot` - (Optional) Hold settings for strategy correction - replacing On-Demand for Spot VMs.
14
+ * * `performAt` - (Required, Enum `"timeWindow", "never", "always"`, Default `"always"`) Settings for maintenance strategy.
15
+ *
16
+ * <a id="compute"></a>
17
+ * ## Compute
18
+ *
19
+ * * `os` - (Required, Enum `"Linux", "Windows"`) Type of operating system.
20
+ * * `odSizes` - (Required) Available On-Demand sizes.
21
+ * * `spotSizes` - (Required) Available Spot-VM sizes.
22
+ * * `preferredSpotSizes` - (Optional) Prioritize Spot VM sizes when launching Spot VMs for the group. If set, must be a sublist of compute.vmSizes.spotSizes.
23
+ * * `zones` - (Optional, Enum `"1", "2", "3"`) List of Azure Availability Zones in the defined region. If not defined, Virtual machines will be launched regionally.
24
+ * * `preferredZones` - (Optional, Enum `"1", "2", "3"`) The AZs to prioritize when launching VMs. If no markets are available in the Preferred AZs, VMs are launched in the non-preferred AZs. Must be a sublist of compute.zones.
25
+ * * `customData` - (Optional) This value will hold the YAML in base64 and will be executed upon VM launch.
26
+ * * `shutdownScript` - (Optional) Shutdown script for the stateful node. Value should be passed as a string encoded at Base64 only.
27
+ *
28
+ * <a id="bootDiagnostics"></a>
29
+ * ## Boot Diagnostics
30
+ *
31
+ * * `bootDiagnostics`
32
+ * * `isEnabled` - (Optional) Allows you to enable and disable the configuration of boot diagnostics at launch.
33
+ * * `storageUrl` - (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.
34
+ * * `type` - (Optional, Enum `"managed", "unmanaged"`) Defines the storage type on VM launch in Azure.
35
+ *
36
+ * <a id="dataDisks"></a>
37
+ * ## Data Disks
38
+ *
39
+ * * `dataDisk` - (Optional) The definitions of data disks that will be created and attached to the stateful node's VM.
40
+ * * `sizeGb` - (Required) The size of the data disk in GB, required if dataDisks is specified.
41
+ * * `lun` - (Required) The LUN of the data disk.
42
+ * * `type` - (Required, Enum `"Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS"`) The type of the data disk.
43
+ *
44
+ * <a id="extensions"></a>
45
+ * ## Extensions
46
+ *
47
+ * * `extension` - (Optional) An object for an azure extension.
48
+ * * `name` - (Required) Required on compute.launchSpecification.extensions object.
49
+ * * `type` - (Required) Required on compute.launchSpecification.extensions object.
50
+ * * `publisher` - (Required) Required on compute.launchSpecification.extensions object.
51
+ * * `apiVersion` - (Required) The API version of the extension. Required if extension specified.
52
+ * * `minorVersionAutoUpgrade` - (Required) Required on compute.launchSpecification.extensions object.
53
+ * * `protectedSettings` - (Optional) Object for protected settings.
54
+ * * `publicSettings` - (Optional) Object for public settings.
55
+ *
56
+ * <a id="image"></a>
57
+ * ## Image
58
+ *
59
+ * * `image`
60
+ * * `marketplaceImage` - (Optional) Select an image from Azure's Marketplace image catalogue. Required if the custom image or gallery image are not specified.
61
+ * * `publisher` - (Required) Image publisher.
62
+ * * `offer` - (Required) Image offer.
63
+ * * `sku` - (Required) Image Stock Keeping Unit, which is the specific version of the image.
64
+ * * `version` - (Required, Default `"latest"`) Image's version. if version not provided we use "latest".
65
+ * * `galleryImage` - (Optional) Gallery image definitions. Required if custom image or marketplace image are not specified.
66
+ * * `galleryResourceGroupName` - (Required) The resource group name for gallery image.
67
+ * * `galleryName` - (Required) Name of the gallery.
68
+ * * `imageName` - (Required) Name of the gallery image.
69
+ * * `versionName` - (Required) Image's version. Can be in the format x.x.x or 'latest'.
70
+ * * `customImage` - (Optional) Custom image definitions. Required if marketplace image or gallery image are not specified.
71
+ * * `customImageResourceGroupName` - (Required) The resource group name for custom image.
72
+ * * `name` - (Required) The name of the custom image.
73
+ *
74
+ * <a id="load balancer"></a>
75
+ * ## Load Balancer
76
+ *
77
+ * * `loadBalancer` - (Optional) Add a load balancer. For Azure Gateway, each Backend Pool is a separate load balancer.
78
+ * * `type` - (Required, Enum `"loadBalancer", "applicationGateway"`) The type of load balancer.
79
+ * * `resourceGroupName` - (Required) The Resource Group name of the Load Balancer.
80
+ * * `name` - (Required) Name of the Application Gateway/Load Balancer.
81
+ * * `sku` - (Optional)
82
+ * * if type is `"LoadBalancer"` then possible values are `“Standard", "Basic”`.
83
+ * * If ApplicationGateway then possible values are
84
+ * `“Standard_Large”, “Standard_Medium”, “Standard_Small”, “Standard_v2", “WAF_Large”, “WAF_Medium", “WAF_v2"`.
85
+ * * `backendPoolNames` - (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.
86
+ *
87
+ * <a id="login"></a>
88
+ * ## Login
89
+ *
90
+ * * `login` - (Required) Set admin access for accessing your VMs. Password/SSH is required for Linux.
91
+ * * `userName` - (Required) username for admin access to VMs.
92
+ * * `sshPublicKey` - (Optional) SSH for admin access to Linux VMs. Optional for Linux.
93
+ * * `password` - (Optional) Password for admin access to Windows VMs. Required for Windows.
94
+ *
95
+ * <a id="managedServiceIdentities"></a>
96
+ * ## Managed Service Identities
97
+ *
98
+ * * `managedServiceIdentities` - (Optional) Add a user-assigned managed identity to the Stateful Node's VM.
99
+ * * `name` - (Required) name of the managed identity.
100
+ * * `resourceGroupName` - (Required) The Resource Group that the user-assigned managed identity resides in.
101
+ *
102
+ * <a id="network"></a>
103
+ * ## Network
104
+ *
105
+ * * `network` - (Required) Define the Virtual Network and Subnet for your Stateful Node.
106
+ * * `networkResourceGroupName` - (Required) Vnet Resource Group Name.
107
+ * * `virtualNetworkName` - (Required) Virtual Network.
108
+ * * `networkInterface` - (Required) Define a network interface
109
+ * * `isPrimary` - (Required) Defines whether the network interface is primary or not.
110
+ * * `subnetName` - (Required) Subnet name.
111
+ * * `assignPublicIp` - (Optional) Assign public IP.
112
+ * * `publicIpSku` - (Optional) Required if assignPublicIp=true values=[STANDARD/BASIC].
113
+ * * `networkSecurityGroup` - (Optional) Network Security Group.
114
+ * * `networkResourceGroupName` - (Required) Requires valid security group name.
115
+ * * `name` - (Required) Requires valid resource group name.
116
+ * * `enableIpForwarding` - (Optional) Enable IP Forwarding.
117
+ * * `privateIpAddresses` - (Optional) A list with unique items that every item is a valid IP.
118
+ * * `additionalIpConfigurations` - (Optional) Additional configuration of network interface.
119
+ * * `name` - (Required) Configuration name.
120
+ * * `privateIpAddressVersion` - (Required, Enum `"IPv4", "IPv6"` Default `"IPv4"`) Version of the private IP address.
121
+ * * `publicIps` - (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.
122
+ * * `resourceGroupName` - (Required) The resource group of the public ip.
123
+ * * `name` - (Required) - The name of the public ip.
124
+ * * `applicationSecurityGroups` - (Optional) Network Security Group.
125
+ * * `resourceGroupName` - (Required) Requires valid security group name.
126
+ * * `name` - (Required) Requires valid resource group name.
127
+ *
128
+ * <a id="osDisk"></a>
129
+ * ## OS Disk
130
+ *
131
+ * * `osDisk` - (Optional) Specify OS disk specification other than default.
132
+ * * `sizeGb` - (Optional, Default `"30"`) The size of the data disk in GB.
133
+ * * `type` - (Required, Enum `"Standard_LRS", "Premium_LRS", "StandardSSD_LRS"`) The type of the OS disk.
134
+ *
135
+ * <a id="secret"></a>
136
+ * ## Secret
137
+ *
138
+ * * `secret` - (Optional) Set of certificates that should be installed on the VM.
139
+ * * `sourceVault` - (Required) The key vault reference, contains the required certificates.
140
+ * * `name` - (Required) The name of the key vault.
141
+ * * `resourceGroupName` - (Required) The resource group name of the key vault.
142
+ * * `vaultCertificates` - (Required) The required certificate references.
143
+ * * `certificateUrl` - (Optional) The URL of the certificate under the key vault.
144
+ * * `certificateStore` - (Required) The certificate store directory the VM. The directory is created in the LocalMachine account.
145
+ * * This field is required only when using Windows OS type
146
+ * * This field must be ‘null’ when the OS type is Linux
147
+ *
148
+ * <a id="tag"></a>
149
+ * ## Tag
150
+ *
151
+ * * `tag` - (Optional) Unique Key-Value pair for all Stateful Node Resources.
152
+ * * `tagKey` - (Optional) Tag Key for Stateful Node Resources.
153
+ * * `tagValue` - (Optional) Tag Value for Stateful Node Resources.
154
+ *
155
+ * <a id="health"></a>
156
+ * ## Health
157
+ *
158
+ * * `health` - (Optional) Set the auto healing preferences for unhealthy VMs.
159
+ * * `healthCheckTypes` - (Optional, Enum `"vmState", "applicationGateway"`) Healthcheck to use to validate VM health.
160
+ * * `unhealthyDuration` - (Optional) Amount of time to be unhealthy before a replacement is triggered.
161
+ * * `autoHealing` - (Required) Enable Autohealing of unhealthy VMs.
162
+ * * `gracePeriod` - (Optional) Period of time to wait for VM to reach healthiness before monitoring for unhealthiness.
163
+ *
164
+ * <a id="persistence"></a>
165
+ * ## Persistence
166
+ *
167
+ * * `shouldPersistOsDisk` - (Required) Should persist os disk.
168
+ * * `osDiskPersistenceMode` - (Optional, Enum `"reattach", "onLaunch"`)
169
+ * * `shouldPersistDataDisks` - (Required) Should persist data disks.
170
+ * * `dataDisksPersistenceMode` - (Optional, Enum `"reattach", "onLaunch"`)
171
+ * * `shouldPersistNetwork` - (Required) Should persist network.
172
+ *
173
+ * <a id="schedulingTasks"></a>
174
+ * ## Scheduling Tasks
175
+ *
176
+ * * `schedulingTask` - (Optional) Scheduling settings object for stateful node.
177
+ * * `isEnabled` - (Required) Is scheduled task enabled for stateful node.
178
+ * * `type` - (Required, Enum `"pause", "resume", "recycle") The type of the scheduled task
179
+ * * `cronExpression` (Required) A expression which describes when to execute the scheduled task (UTC).
180
+ *
181
+ * <a id="signals"></a>
182
+ * ## Signals
183
+ *
184
+ * * `signal` - (Optional) A signal object defined for the stateful node.
185
+ * * `type` - (Required, Enum `"vmReady", "vmReadyToShutdown"`) The type of the signal defined for the stateful node.
186
+ * * `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.
187
+ *
188
+ * ***
189
+ *
190
+ * <a id="attachDataDisk"></a>
191
+ * ## Attach Data Disk
192
+ *
193
+ * * `attachDataDisk` - (Optional) Create a new data disk and attach it to the stateful node.
194
+ * * `dataDiskName` - (Required) The name of the created data disk.
195
+ * * `dataDiskResourceGroupName` - (Required) The resource group name in which the data disk will be created.
196
+ * * `storageAccountType` - (Required, Enum `"Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS"`) The type of the data disk.
197
+ * * `sizeGb` - (Required) The size of the data disk in GB, Required if dataDisks is specified.
198
+ * * `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.
199
+ * * `lun` - (Optional, Default `"orginal"`) The LUN of the data disk. If not defined, the LUN will be set in order.
200
+ *
201
+ * <a id="detachDataDisk"></a>
202
+ * ## Detach Data Disk
203
+ *
204
+ * * `detachDataDisk` - (Optional) Detach a data disk from a stateful node.
205
+ * * `dataDiskName` - (Required) The name of the detached data disk.
206
+ * * `dataDiskResourceGroupName` - (Required) The resource group name in which the data disk exists.
207
+ * * `shouldDeallocate` - (Required) Indicates whether to delete the data disk in addition to detach.
208
+ * * `ttlInHours` - (Required, Default `"0"`) Hours to keep the disk alive before deletion.
209
+ *
210
+ * <a id="updateState"></a>
211
+ * ## Update State
212
+ *
213
+ * * `updateState` - (Optional) Update the stateful node state.
214
+ * * `state` - (Required, Enum `"pause", "resume", "recycle"`) New state for the stateful node.
215
+ *
216
+ * <a id="importVm"></a>
217
+ * ## Import VM
218
+ *
219
+ * * `importVm` - (Optional) Import an Azure VM and create a stateful node by providing a node configuration.
220
+ * * `resourceGroupName` - (Required) Name of the Resource Group for Stateful Node.
221
+ * * `originalVmName` - (Required) Azure Import Stateful Node Name.
222
+ * * `drainingTimeout` - (Optional) Hours to keep resources alive.
223
+ * * `resourcesRetentionTime` - (Optional) Hours to keep resources alive.
224
+ */
225
+ export declare class StatefulNodeAzure extends pulumi.CustomResource {
226
+ /**
227
+ * Get an existing StatefulNodeAzure resource's state with the given name, ID, and optional extra
228
+ * properties used to qualify the lookup.
229
+ *
230
+ * @param name The _unique_ name of the resulting resource.
231
+ * @param id The _unique_ provider ID of the resource to lookup.
232
+ * @param state Any extra arguments used during the lookup.
233
+ * @param opts Optional settings to control the behavior of the CustomResource.
234
+ */
235
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StatefulNodeAzureState, opts?: pulumi.CustomResourceOptions): StatefulNodeAzure;
236
+ /**
237
+ * Returns true if the given object is an instance of StatefulNodeAzure. This is designed to work even
238
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
239
+ */
240
+ static isInstance(obj: any): obj is StatefulNodeAzure;
241
+ readonly attachDataDisks: pulumi.Output<outputs.StatefulNodeAzureAttachDataDisk[] | undefined>;
242
+ readonly bootDiagnostics: pulumi.Output<outputs.StatefulNodeAzureBootDiagnostic[]>;
243
+ readonly customData: pulumi.Output<string>;
244
+ readonly dataDisks: pulumi.Output<outputs.StatefulNodeAzureDataDisk[]>;
245
+ readonly dataDisksPersistenceMode: pulumi.Output<string>;
246
+ readonly deletes: pulumi.Output<outputs.StatefulNodeAzureDelete[] | undefined>;
247
+ readonly description: pulumi.Output<string>;
248
+ readonly detachDataDisks: pulumi.Output<outputs.StatefulNodeAzureDetachDataDisk[] | undefined>;
249
+ readonly extensions: pulumi.Output<outputs.StatefulNodeAzureExtension[]>;
250
+ readonly health: pulumi.Output<outputs.StatefulNodeAzureHealth>;
251
+ readonly image: pulumi.Output<outputs.StatefulNodeAzureImage>;
252
+ readonly importVms: pulumi.Output<outputs.StatefulNodeAzureImportVm[] | undefined>;
253
+ readonly loadBalancers: pulumi.Output<outputs.StatefulNodeAzureLoadBalancer[]>;
254
+ readonly login: pulumi.Output<outputs.StatefulNodeAzureLogin>;
255
+ readonly managedServiceIdentities: pulumi.Output<outputs.StatefulNodeAzureManagedServiceIdentity[]>;
256
+ readonly name: pulumi.Output<string>;
257
+ readonly network: pulumi.Output<outputs.StatefulNodeAzureNetwork>;
258
+ readonly odSizes: pulumi.Output<string[]>;
259
+ readonly os: pulumi.Output<string>;
260
+ readonly osDisk: pulumi.Output<outputs.StatefulNodeAzureOsDisk>;
261
+ readonly osDiskPersistenceMode: pulumi.Output<string>;
262
+ readonly preferredSpotSizes: pulumi.Output<string[]>;
263
+ readonly preferredZones: pulumi.Output<string>;
264
+ readonly region: pulumi.Output<string>;
265
+ readonly resourceGroupName: pulumi.Output<string>;
266
+ readonly schedulingTasks: pulumi.Output<outputs.StatefulNodeAzureSchedulingTask[]>;
267
+ readonly secrets: pulumi.Output<outputs.StatefulNodeAzureSecret[]>;
268
+ readonly shouldPersistDataDisks: pulumi.Output<boolean>;
269
+ readonly shouldPersistNetwork: pulumi.Output<boolean>;
270
+ readonly shouldPersistOsDisk: pulumi.Output<boolean>;
271
+ readonly shouldPersistVm: pulumi.Output<boolean>;
272
+ readonly shutdownScript: pulumi.Output<string>;
273
+ readonly signals: pulumi.Output<outputs.StatefulNodeAzureSignal[]>;
274
+ readonly spotSizes: pulumi.Output<string[]>;
275
+ readonly strategy: pulumi.Output<outputs.StatefulNodeAzureStrategy>;
276
+ readonly tags: pulumi.Output<outputs.StatefulNodeAzureTag[]>;
277
+ readonly updateStates: pulumi.Output<outputs.StatefulNodeAzureUpdateState[] | undefined>;
278
+ readonly zones: pulumi.Output<string[] | undefined>;
279
+ /**
280
+ * Create a StatefulNodeAzure resource with the given unique name, arguments, and options.
281
+ *
282
+ * @param name The _unique_ name of the resource.
283
+ * @param args The arguments to use to populate this resource's properties.
284
+ * @param opts A bag of options that control this resource's behavior.
285
+ */
286
+ constructor(name: string, args: StatefulNodeAzureArgs, opts?: pulumi.CustomResourceOptions);
287
+ }
288
+ /**
289
+ * Input properties used for looking up and filtering StatefulNodeAzure resources.
290
+ */
291
+ export interface StatefulNodeAzureState {
292
+ attachDataDisks?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureAttachDataDisk>[]>;
293
+ bootDiagnostics?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureBootDiagnostic>[]>;
294
+ customData?: pulumi.Input<string>;
295
+ dataDisks?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureDataDisk>[]>;
296
+ dataDisksPersistenceMode?: pulumi.Input<string>;
297
+ deletes?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureDelete>[]>;
298
+ description?: pulumi.Input<string>;
299
+ detachDataDisks?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureDetachDataDisk>[]>;
300
+ extensions?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureExtension>[]>;
301
+ health?: pulumi.Input<inputs.StatefulNodeAzureHealth>;
302
+ image?: pulumi.Input<inputs.StatefulNodeAzureImage>;
303
+ importVms?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureImportVm>[]>;
304
+ loadBalancers?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureLoadBalancer>[]>;
305
+ login?: pulumi.Input<inputs.StatefulNodeAzureLogin>;
306
+ managedServiceIdentities?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureManagedServiceIdentity>[]>;
307
+ name?: pulumi.Input<string>;
308
+ network?: pulumi.Input<inputs.StatefulNodeAzureNetwork>;
309
+ odSizes?: pulumi.Input<pulumi.Input<string>[]>;
310
+ os?: pulumi.Input<string>;
311
+ osDisk?: pulumi.Input<inputs.StatefulNodeAzureOsDisk>;
312
+ osDiskPersistenceMode?: pulumi.Input<string>;
313
+ preferredSpotSizes?: pulumi.Input<pulumi.Input<string>[]>;
314
+ preferredZones?: pulumi.Input<string>;
315
+ region?: pulumi.Input<string>;
316
+ resourceGroupName?: pulumi.Input<string>;
317
+ schedulingTasks?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureSchedulingTask>[]>;
318
+ secrets?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureSecret>[]>;
319
+ shouldPersistDataDisks?: pulumi.Input<boolean>;
320
+ shouldPersistNetwork?: pulumi.Input<boolean>;
321
+ shouldPersistOsDisk?: pulumi.Input<boolean>;
322
+ shouldPersistVm?: pulumi.Input<boolean>;
323
+ shutdownScript?: pulumi.Input<string>;
324
+ signals?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureSignal>[]>;
325
+ spotSizes?: pulumi.Input<pulumi.Input<string>[]>;
326
+ strategy?: pulumi.Input<inputs.StatefulNodeAzureStrategy>;
327
+ tags?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureTag>[]>;
328
+ updateStates?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureUpdateState>[]>;
329
+ zones?: pulumi.Input<pulumi.Input<string>[]>;
330
+ }
331
+ /**
332
+ * The set of arguments for constructing a StatefulNodeAzure resource.
333
+ */
334
+ export interface StatefulNodeAzureArgs {
335
+ attachDataDisks?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureAttachDataDisk>[]>;
336
+ bootDiagnostics?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureBootDiagnostic>[]>;
337
+ customData?: pulumi.Input<string>;
338
+ dataDisks?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureDataDisk>[]>;
339
+ dataDisksPersistenceMode?: pulumi.Input<string>;
340
+ deletes?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureDelete>[]>;
341
+ description?: pulumi.Input<string>;
342
+ detachDataDisks?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureDetachDataDisk>[]>;
343
+ extensions?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureExtension>[]>;
344
+ health?: pulumi.Input<inputs.StatefulNodeAzureHealth>;
345
+ image: pulumi.Input<inputs.StatefulNodeAzureImage>;
346
+ importVms?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureImportVm>[]>;
347
+ loadBalancers?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureLoadBalancer>[]>;
348
+ login: pulumi.Input<inputs.StatefulNodeAzureLogin>;
349
+ managedServiceIdentities?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureManagedServiceIdentity>[]>;
350
+ name?: pulumi.Input<string>;
351
+ network: pulumi.Input<inputs.StatefulNodeAzureNetwork>;
352
+ odSizes: pulumi.Input<pulumi.Input<string>[]>;
353
+ os: pulumi.Input<string>;
354
+ osDisk?: pulumi.Input<inputs.StatefulNodeAzureOsDisk>;
355
+ osDiskPersistenceMode?: pulumi.Input<string>;
356
+ preferredSpotSizes?: pulumi.Input<pulumi.Input<string>[]>;
357
+ preferredZones?: pulumi.Input<string>;
358
+ region: pulumi.Input<string>;
359
+ resourceGroupName: pulumi.Input<string>;
360
+ schedulingTasks?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureSchedulingTask>[]>;
361
+ secrets?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureSecret>[]>;
362
+ shouldPersistDataDisks: pulumi.Input<boolean>;
363
+ shouldPersistNetwork: pulumi.Input<boolean>;
364
+ shouldPersistOsDisk: pulumi.Input<boolean>;
365
+ shouldPersistVm?: pulumi.Input<boolean>;
366
+ shutdownScript?: pulumi.Input<string>;
367
+ signals?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureSignal>[]>;
368
+ spotSizes: pulumi.Input<pulumi.Input<string>[]>;
369
+ strategy: pulumi.Input<inputs.StatefulNodeAzureStrategy>;
370
+ tags?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureTag>[]>;
371
+ updateStates?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureUpdateState>[]>;
372
+ zones?: pulumi.Input<pulumi.Input<string>[]>;
373
+ }
@@ -0,0 +1,381 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.StatefulNodeAzure = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Provides a Spotinst stateful node Azure resource.
10
+ *
11
+ * ## Strategy
12
+ *
13
+ * * `strategy` - (Required) Strategy for stateful node.
14
+ * * `drainingTimeout` - (Optional, Default `120`) 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.
15
+ * * `fallbackToOnDemand` - (Required) In case of no spots available, Stateful Node will launch an On-demand instance instead.
16
+ * * `optimizationWindows` - (Optional) Valid format: "ddd:hh:mm-ddd:hh:mm (day:hour(0-23):minute(0-59))", not empty if revertToSpot.performAt = timeWindow.
17
+ * * `preferredLifeCycle` - (Optional, Enum `"od", "spot"`, Default `"spot"`) The desired type of VM.
18
+ * * `revertToSpot` - (Optional) Hold settings for strategy correction - replacing On-Demand for Spot VMs.
19
+ * * `performAt` - (Required, Enum `"timeWindow", "never", "always"`, Default `"always"`) Settings for maintenance strategy.
20
+ *
21
+ * <a id="compute"></a>
22
+ * ## Compute
23
+ *
24
+ * * `os` - (Required, Enum `"Linux", "Windows"`) Type of operating system.
25
+ * * `odSizes` - (Required) Available On-Demand sizes.
26
+ * * `spotSizes` - (Required) Available Spot-VM sizes.
27
+ * * `preferredSpotSizes` - (Optional) Prioritize Spot VM sizes when launching Spot VMs for the group. If set, must be a sublist of compute.vmSizes.spotSizes.
28
+ * * `zones` - (Optional, Enum `"1", "2", "3"`) List of Azure Availability Zones in the defined region. If not defined, Virtual machines will be launched regionally.
29
+ * * `preferredZones` - (Optional, Enum `"1", "2", "3"`) The AZs to prioritize when launching VMs. If no markets are available in the Preferred AZs, VMs are launched in the non-preferred AZs. Must be a sublist of compute.zones.
30
+ * * `customData` - (Optional) This value will hold the YAML in base64 and will be executed upon VM launch.
31
+ * * `shutdownScript` - (Optional) Shutdown script for the stateful node. Value should be passed as a string encoded at Base64 only.
32
+ *
33
+ * <a id="bootDiagnostics"></a>
34
+ * ## Boot Diagnostics
35
+ *
36
+ * * `bootDiagnostics`
37
+ * * `isEnabled` - (Optional) Allows you to enable and disable the configuration of boot diagnostics at launch.
38
+ * * `storageUrl` - (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.
39
+ * * `type` - (Optional, Enum `"managed", "unmanaged"`) Defines the storage type on VM launch in Azure.
40
+ *
41
+ * <a id="dataDisks"></a>
42
+ * ## Data Disks
43
+ *
44
+ * * `dataDisk` - (Optional) The definitions of data disks that will be created and attached to the stateful node's VM.
45
+ * * `sizeGb` - (Required) The size of the data disk in GB, required if dataDisks is specified.
46
+ * * `lun` - (Required) The LUN of the data disk.
47
+ * * `type` - (Required, Enum `"Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS"`) The type of the data disk.
48
+ *
49
+ * <a id="extensions"></a>
50
+ * ## Extensions
51
+ *
52
+ * * `extension` - (Optional) An object for an azure extension.
53
+ * * `name` - (Required) Required on compute.launchSpecification.extensions object.
54
+ * * `type` - (Required) Required on compute.launchSpecification.extensions object.
55
+ * * `publisher` - (Required) Required on compute.launchSpecification.extensions object.
56
+ * * `apiVersion` - (Required) The API version of the extension. Required if extension specified.
57
+ * * `minorVersionAutoUpgrade` - (Required) Required on compute.launchSpecification.extensions object.
58
+ * * `protectedSettings` - (Optional) Object for protected settings.
59
+ * * `publicSettings` - (Optional) Object for public settings.
60
+ *
61
+ * <a id="image"></a>
62
+ * ## Image
63
+ *
64
+ * * `image`
65
+ * * `marketplaceImage` - (Optional) Select an image from Azure's Marketplace image catalogue. Required if the custom image or gallery image are not specified.
66
+ * * `publisher` - (Required) Image publisher.
67
+ * * `offer` - (Required) Image offer.
68
+ * * `sku` - (Required) Image Stock Keeping Unit, which is the specific version of the image.
69
+ * * `version` - (Required, Default `"latest"`) Image's version. if version not provided we use "latest".
70
+ * * `galleryImage` - (Optional) Gallery image definitions. Required if custom image or marketplace image are not specified.
71
+ * * `galleryResourceGroupName` - (Required) The resource group name for gallery image.
72
+ * * `galleryName` - (Required) Name of the gallery.
73
+ * * `imageName` - (Required) Name of the gallery image.
74
+ * * `versionName` - (Required) Image's version. Can be in the format x.x.x or 'latest'.
75
+ * * `customImage` - (Optional) Custom image definitions. Required if marketplace image or gallery image are not specified.
76
+ * * `customImageResourceGroupName` - (Required) The resource group name for custom image.
77
+ * * `name` - (Required) The name of the custom image.
78
+ *
79
+ * <a id="load balancer"></a>
80
+ * ## Load Balancer
81
+ *
82
+ * * `loadBalancer` - (Optional) Add a load balancer. For Azure Gateway, each Backend Pool is a separate load balancer.
83
+ * * `type` - (Required, Enum `"loadBalancer", "applicationGateway"`) The type of load balancer.
84
+ * * `resourceGroupName` - (Required) The Resource Group name of the Load Balancer.
85
+ * * `name` - (Required) Name of the Application Gateway/Load Balancer.
86
+ * * `sku` - (Optional)
87
+ * * if type is `"LoadBalancer"` then possible values are `“Standard", "Basic”`.
88
+ * * If ApplicationGateway then possible values are
89
+ * `“Standard_Large”, “Standard_Medium”, “Standard_Small”, “Standard_v2", “WAF_Large”, “WAF_Medium", “WAF_v2"`.
90
+ * * `backendPoolNames` - (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.
91
+ *
92
+ * <a id="login"></a>
93
+ * ## Login
94
+ *
95
+ * * `login` - (Required) Set admin access for accessing your VMs. Password/SSH is required for Linux.
96
+ * * `userName` - (Required) username for admin access to VMs.
97
+ * * `sshPublicKey` - (Optional) SSH for admin access to Linux VMs. Optional for Linux.
98
+ * * `password` - (Optional) Password for admin access to Windows VMs. Required for Windows.
99
+ *
100
+ * <a id="managedServiceIdentities"></a>
101
+ * ## Managed Service Identities
102
+ *
103
+ * * `managedServiceIdentities` - (Optional) Add a user-assigned managed identity to the Stateful Node's VM.
104
+ * * `name` - (Required) name of the managed identity.
105
+ * * `resourceGroupName` - (Required) The Resource Group that the user-assigned managed identity resides in.
106
+ *
107
+ * <a id="network"></a>
108
+ * ## Network
109
+ *
110
+ * * `network` - (Required) Define the Virtual Network and Subnet for your Stateful Node.
111
+ * * `networkResourceGroupName` - (Required) Vnet Resource Group Name.
112
+ * * `virtualNetworkName` - (Required) Virtual Network.
113
+ * * `networkInterface` - (Required) Define a network interface
114
+ * * `isPrimary` - (Required) Defines whether the network interface is primary or not.
115
+ * * `subnetName` - (Required) Subnet name.
116
+ * * `assignPublicIp` - (Optional) Assign public IP.
117
+ * * `publicIpSku` - (Optional) Required if assignPublicIp=true values=[STANDARD/BASIC].
118
+ * * `networkSecurityGroup` - (Optional) Network Security Group.
119
+ * * `networkResourceGroupName` - (Required) Requires valid security group name.
120
+ * * `name` - (Required) Requires valid resource group name.
121
+ * * `enableIpForwarding` - (Optional) Enable IP Forwarding.
122
+ * * `privateIpAddresses` - (Optional) A list with unique items that every item is a valid IP.
123
+ * * `additionalIpConfigurations` - (Optional) Additional configuration of network interface.
124
+ * * `name` - (Required) Configuration name.
125
+ * * `privateIpAddressVersion` - (Required, Enum `"IPv4", "IPv6"` Default `"IPv4"`) Version of the private IP address.
126
+ * * `publicIps` - (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.
127
+ * * `resourceGroupName` - (Required) The resource group of the public ip.
128
+ * * `name` - (Required) - The name of the public ip.
129
+ * * `applicationSecurityGroups` - (Optional) Network Security Group.
130
+ * * `resourceGroupName` - (Required) Requires valid security group name.
131
+ * * `name` - (Required) Requires valid resource group name.
132
+ *
133
+ * <a id="osDisk"></a>
134
+ * ## OS Disk
135
+ *
136
+ * * `osDisk` - (Optional) Specify OS disk specification other than default.
137
+ * * `sizeGb` - (Optional, Default `"30"`) The size of the data disk in GB.
138
+ * * `type` - (Required, Enum `"Standard_LRS", "Premium_LRS", "StandardSSD_LRS"`) The type of the OS disk.
139
+ *
140
+ * <a id="secret"></a>
141
+ * ## Secret
142
+ *
143
+ * * `secret` - (Optional) Set of certificates that should be installed on the VM.
144
+ * * `sourceVault` - (Required) The key vault reference, contains the required certificates.
145
+ * * `name` - (Required) The name of the key vault.
146
+ * * `resourceGroupName` - (Required) The resource group name of the key vault.
147
+ * * `vaultCertificates` - (Required) The required certificate references.
148
+ * * `certificateUrl` - (Optional) The URL of the certificate under the key vault.
149
+ * * `certificateStore` - (Required) The certificate store directory the VM. The directory is created in the LocalMachine account.
150
+ * * This field is required only when using Windows OS type
151
+ * * This field must be ‘null’ when the OS type is Linux
152
+ *
153
+ * <a id="tag"></a>
154
+ * ## Tag
155
+ *
156
+ * * `tag` - (Optional) Unique Key-Value pair for all Stateful Node Resources.
157
+ * * `tagKey` - (Optional) Tag Key for Stateful Node Resources.
158
+ * * `tagValue` - (Optional) Tag Value for Stateful Node Resources.
159
+ *
160
+ * <a id="health"></a>
161
+ * ## Health
162
+ *
163
+ * * `health` - (Optional) Set the auto healing preferences for unhealthy VMs.
164
+ * * `healthCheckTypes` - (Optional, Enum `"vmState", "applicationGateway"`) Healthcheck to use to validate VM health.
165
+ * * `unhealthyDuration` - (Optional) Amount of time to be unhealthy before a replacement is triggered.
166
+ * * `autoHealing` - (Required) Enable Autohealing of unhealthy VMs.
167
+ * * `gracePeriod` - (Optional) Period of time to wait for VM to reach healthiness before monitoring for unhealthiness.
168
+ *
169
+ * <a id="persistence"></a>
170
+ * ## Persistence
171
+ *
172
+ * * `shouldPersistOsDisk` - (Required) Should persist os disk.
173
+ * * `osDiskPersistenceMode` - (Optional, Enum `"reattach", "onLaunch"`)
174
+ * * `shouldPersistDataDisks` - (Required) Should persist data disks.
175
+ * * `dataDisksPersistenceMode` - (Optional, Enum `"reattach", "onLaunch"`)
176
+ * * `shouldPersistNetwork` - (Required) Should persist network.
177
+ *
178
+ * <a id="schedulingTasks"></a>
179
+ * ## Scheduling Tasks
180
+ *
181
+ * * `schedulingTask` - (Optional) Scheduling settings object for stateful node.
182
+ * * `isEnabled` - (Required) Is scheduled task enabled for stateful node.
183
+ * * `type` - (Required, Enum `"pause", "resume", "recycle") The type of the scheduled task
184
+ * * `cronExpression` (Required) A expression which describes when to execute the scheduled task (UTC).
185
+ *
186
+ * <a id="signals"></a>
187
+ * ## Signals
188
+ *
189
+ * * `signal` - (Optional) A signal object defined for the stateful node.
190
+ * * `type` - (Required, Enum `"vmReady", "vmReadyToShutdown"`) The type of the signal defined for the stateful node.
191
+ * * `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.
192
+ *
193
+ * ***
194
+ *
195
+ * <a id="attachDataDisk"></a>
196
+ * ## Attach Data Disk
197
+ *
198
+ * * `attachDataDisk` - (Optional) Create a new data disk and attach it to the stateful node.
199
+ * * `dataDiskName` - (Required) The name of the created data disk.
200
+ * * `dataDiskResourceGroupName` - (Required) The resource group name in which the data disk will be created.
201
+ * * `storageAccountType` - (Required, Enum `"Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS"`) The type of the data disk.
202
+ * * `sizeGb` - (Required) The size of the data disk in GB, Required if dataDisks is specified.
203
+ * * `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.
204
+ * * `lun` - (Optional, Default `"orginal"`) The LUN of the data disk. If not defined, the LUN will be set in order.
205
+ *
206
+ * <a id="detachDataDisk"></a>
207
+ * ## Detach Data Disk
208
+ *
209
+ * * `detachDataDisk` - (Optional) Detach a data disk from a stateful node.
210
+ * * `dataDiskName` - (Required) The name of the detached data disk.
211
+ * * `dataDiskResourceGroupName` - (Required) The resource group name in which the data disk exists.
212
+ * * `shouldDeallocate` - (Required) Indicates whether to delete the data disk in addition to detach.
213
+ * * `ttlInHours` - (Required, Default `"0"`) Hours to keep the disk alive before deletion.
214
+ *
215
+ * <a id="updateState"></a>
216
+ * ## Update State
217
+ *
218
+ * * `updateState` - (Optional) Update the stateful node state.
219
+ * * `state` - (Required, Enum `"pause", "resume", "recycle"`) New state for the stateful node.
220
+ *
221
+ * <a id="importVm"></a>
222
+ * ## Import VM
223
+ *
224
+ * * `importVm` - (Optional) Import an Azure VM and create a stateful node by providing a node configuration.
225
+ * * `resourceGroupName` - (Required) Name of the Resource Group for Stateful Node.
226
+ * * `originalVmName` - (Required) Azure Import Stateful Node Name.
227
+ * * `drainingTimeout` - (Optional) Hours to keep resources alive.
228
+ * * `resourcesRetentionTime` - (Optional) Hours to keep resources alive.
229
+ */
230
+ class StatefulNodeAzure extends pulumi.CustomResource {
231
+ constructor(name, argsOrState, opts) {
232
+ let resourceInputs = {};
233
+ opts = opts || {};
234
+ if (opts.id) {
235
+ const state = argsOrState;
236
+ resourceInputs["attachDataDisks"] = state ? state.attachDataDisks : undefined;
237
+ resourceInputs["bootDiagnostics"] = state ? state.bootDiagnostics : undefined;
238
+ resourceInputs["customData"] = state ? state.customData : undefined;
239
+ resourceInputs["dataDisks"] = state ? state.dataDisks : undefined;
240
+ resourceInputs["dataDisksPersistenceMode"] = state ? state.dataDisksPersistenceMode : undefined;
241
+ resourceInputs["deletes"] = state ? state.deletes : undefined;
242
+ resourceInputs["description"] = state ? state.description : undefined;
243
+ resourceInputs["detachDataDisks"] = state ? state.detachDataDisks : undefined;
244
+ resourceInputs["extensions"] = state ? state.extensions : undefined;
245
+ resourceInputs["health"] = state ? state.health : undefined;
246
+ resourceInputs["image"] = state ? state.image : undefined;
247
+ resourceInputs["importVms"] = state ? state.importVms : undefined;
248
+ resourceInputs["loadBalancers"] = state ? state.loadBalancers : undefined;
249
+ resourceInputs["login"] = state ? state.login : undefined;
250
+ resourceInputs["managedServiceIdentities"] = state ? state.managedServiceIdentities : undefined;
251
+ resourceInputs["name"] = state ? state.name : undefined;
252
+ resourceInputs["network"] = state ? state.network : undefined;
253
+ resourceInputs["odSizes"] = state ? state.odSizes : undefined;
254
+ resourceInputs["os"] = state ? state.os : undefined;
255
+ resourceInputs["osDisk"] = state ? state.osDisk : undefined;
256
+ resourceInputs["osDiskPersistenceMode"] = state ? state.osDiskPersistenceMode : undefined;
257
+ resourceInputs["preferredSpotSizes"] = state ? state.preferredSpotSizes : undefined;
258
+ resourceInputs["preferredZones"] = state ? state.preferredZones : undefined;
259
+ resourceInputs["region"] = state ? state.region : undefined;
260
+ resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined;
261
+ resourceInputs["schedulingTasks"] = state ? state.schedulingTasks : undefined;
262
+ resourceInputs["secrets"] = state ? state.secrets : undefined;
263
+ resourceInputs["shouldPersistDataDisks"] = state ? state.shouldPersistDataDisks : undefined;
264
+ resourceInputs["shouldPersistNetwork"] = state ? state.shouldPersistNetwork : undefined;
265
+ resourceInputs["shouldPersistOsDisk"] = state ? state.shouldPersistOsDisk : undefined;
266
+ resourceInputs["shouldPersistVm"] = state ? state.shouldPersistVm : undefined;
267
+ resourceInputs["shutdownScript"] = state ? state.shutdownScript : undefined;
268
+ resourceInputs["signals"] = state ? state.signals : undefined;
269
+ resourceInputs["spotSizes"] = state ? state.spotSizes : undefined;
270
+ resourceInputs["strategy"] = state ? state.strategy : undefined;
271
+ resourceInputs["tags"] = state ? state.tags : undefined;
272
+ resourceInputs["updateStates"] = state ? state.updateStates : undefined;
273
+ resourceInputs["zones"] = state ? state.zones : undefined;
274
+ }
275
+ else {
276
+ const args = argsOrState;
277
+ if ((!args || args.image === undefined) && !opts.urn) {
278
+ throw new Error("Missing required property 'image'");
279
+ }
280
+ if ((!args || args.login === undefined) && !opts.urn) {
281
+ throw new Error("Missing required property 'login'");
282
+ }
283
+ if ((!args || args.network === undefined) && !opts.urn) {
284
+ throw new Error("Missing required property 'network'");
285
+ }
286
+ if ((!args || args.odSizes === undefined) && !opts.urn) {
287
+ throw new Error("Missing required property 'odSizes'");
288
+ }
289
+ if ((!args || args.os === undefined) && !opts.urn) {
290
+ throw new Error("Missing required property 'os'");
291
+ }
292
+ if ((!args || args.region === undefined) && !opts.urn) {
293
+ throw new Error("Missing required property 'region'");
294
+ }
295
+ if ((!args || args.resourceGroupName === undefined) && !opts.urn) {
296
+ throw new Error("Missing required property 'resourceGroupName'");
297
+ }
298
+ if ((!args || args.shouldPersistDataDisks === undefined) && !opts.urn) {
299
+ throw new Error("Missing required property 'shouldPersistDataDisks'");
300
+ }
301
+ if ((!args || args.shouldPersistNetwork === undefined) && !opts.urn) {
302
+ throw new Error("Missing required property 'shouldPersistNetwork'");
303
+ }
304
+ if ((!args || args.shouldPersistOsDisk === undefined) && !opts.urn) {
305
+ throw new Error("Missing required property 'shouldPersistOsDisk'");
306
+ }
307
+ if ((!args || args.spotSizes === undefined) && !opts.urn) {
308
+ throw new Error("Missing required property 'spotSizes'");
309
+ }
310
+ if ((!args || args.strategy === undefined) && !opts.urn) {
311
+ throw new Error("Missing required property 'strategy'");
312
+ }
313
+ resourceInputs["attachDataDisks"] = args ? args.attachDataDisks : undefined;
314
+ resourceInputs["bootDiagnostics"] = args ? args.bootDiagnostics : undefined;
315
+ resourceInputs["customData"] = args ? args.customData : undefined;
316
+ resourceInputs["dataDisks"] = args ? args.dataDisks : undefined;
317
+ resourceInputs["dataDisksPersistenceMode"] = args ? args.dataDisksPersistenceMode : undefined;
318
+ resourceInputs["deletes"] = args ? args.deletes : undefined;
319
+ resourceInputs["description"] = args ? args.description : undefined;
320
+ resourceInputs["detachDataDisks"] = args ? args.detachDataDisks : undefined;
321
+ resourceInputs["extensions"] = args ? args.extensions : undefined;
322
+ resourceInputs["health"] = args ? args.health : undefined;
323
+ resourceInputs["image"] = args ? args.image : undefined;
324
+ resourceInputs["importVms"] = args ? args.importVms : undefined;
325
+ resourceInputs["loadBalancers"] = args ? args.loadBalancers : undefined;
326
+ resourceInputs["login"] = args ? args.login : undefined;
327
+ resourceInputs["managedServiceIdentities"] = args ? args.managedServiceIdentities : undefined;
328
+ resourceInputs["name"] = args ? args.name : undefined;
329
+ resourceInputs["network"] = args ? args.network : undefined;
330
+ resourceInputs["odSizes"] = args ? args.odSizes : undefined;
331
+ resourceInputs["os"] = args ? args.os : undefined;
332
+ resourceInputs["osDisk"] = args ? args.osDisk : undefined;
333
+ resourceInputs["osDiskPersistenceMode"] = args ? args.osDiskPersistenceMode : undefined;
334
+ resourceInputs["preferredSpotSizes"] = args ? args.preferredSpotSizes : undefined;
335
+ resourceInputs["preferredZones"] = args ? args.preferredZones : undefined;
336
+ resourceInputs["region"] = args ? args.region : undefined;
337
+ resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined;
338
+ resourceInputs["schedulingTasks"] = args ? args.schedulingTasks : undefined;
339
+ resourceInputs["secrets"] = args ? args.secrets : undefined;
340
+ resourceInputs["shouldPersistDataDisks"] = args ? args.shouldPersistDataDisks : undefined;
341
+ resourceInputs["shouldPersistNetwork"] = args ? args.shouldPersistNetwork : undefined;
342
+ resourceInputs["shouldPersistOsDisk"] = args ? args.shouldPersistOsDisk : undefined;
343
+ resourceInputs["shouldPersistVm"] = args ? args.shouldPersistVm : undefined;
344
+ resourceInputs["shutdownScript"] = args ? args.shutdownScript : undefined;
345
+ resourceInputs["signals"] = args ? args.signals : undefined;
346
+ resourceInputs["spotSizes"] = args ? args.spotSizes : undefined;
347
+ resourceInputs["strategy"] = args ? args.strategy : undefined;
348
+ resourceInputs["tags"] = args ? args.tags : undefined;
349
+ resourceInputs["updateStates"] = args ? args.updateStates : undefined;
350
+ resourceInputs["zones"] = args ? args.zones : undefined;
351
+ }
352
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
353
+ super(StatefulNodeAzure.__pulumiType, name, resourceInputs, opts);
354
+ }
355
+ /**
356
+ * Get an existing StatefulNodeAzure resource's state with the given name, ID, and optional extra
357
+ * properties used to qualify the lookup.
358
+ *
359
+ * @param name The _unique_ name of the resulting resource.
360
+ * @param id The _unique_ provider ID of the resource to lookup.
361
+ * @param state Any extra arguments used during the lookup.
362
+ * @param opts Optional settings to control the behavior of the CustomResource.
363
+ */
364
+ static get(name, id, state, opts) {
365
+ return new StatefulNodeAzure(name, state, Object.assign(Object.assign({}, opts), { id: id }));
366
+ }
367
+ /**
368
+ * Returns true if the given object is an instance of StatefulNodeAzure. This is designed to work even
369
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
370
+ */
371
+ static isInstance(obj) {
372
+ if (obj === undefined || obj === null) {
373
+ return false;
374
+ }
375
+ return obj['__pulumiType'] === StatefulNodeAzure.__pulumiType;
376
+ }
377
+ }
378
+ exports.StatefulNodeAzure = StatefulNodeAzure;
379
+ /** @internal */
380
+ StatefulNodeAzure.__pulumiType = 'spotinst:index/statefulNodeAzure:StatefulNodeAzure';
381
+ //# sourceMappingURL=statefulNodeAzure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statefulNodeAzure.js","sourceRoot":"","sources":["../statefulNodeAzure.ts"],"names":[],"mappings":"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"}
package/types/input.d.ts CHANGED
@@ -170,6 +170,178 @@ export interface HealthCheckCheck {
170
170
  */
171
171
  unhealthy: pulumi.Input<number>;
172
172
  }
173
+ export interface StatefulNodeAzureAttachDataDisk {
174
+ dataDiskName: pulumi.Input<string>;
175
+ dataDiskResourceGroupName: pulumi.Input<string>;
176
+ lun?: pulumi.Input<number>;
177
+ sizeGb: pulumi.Input<number>;
178
+ storageAccountType: pulumi.Input<string>;
179
+ zone?: pulumi.Input<string>;
180
+ }
181
+ export interface StatefulNodeAzureBootDiagnostic {
182
+ isEnabled?: pulumi.Input<boolean>;
183
+ storageUrl?: pulumi.Input<string>;
184
+ type?: pulumi.Input<string>;
185
+ }
186
+ export interface StatefulNodeAzureDataDisk {
187
+ lun: pulumi.Input<number>;
188
+ sizeGb: pulumi.Input<number>;
189
+ type: pulumi.Input<string>;
190
+ }
191
+ export interface StatefulNodeAzureDelete {
192
+ diskShouldDeallocate: pulumi.Input<boolean>;
193
+ diskTtlInHours?: pulumi.Input<number>;
194
+ networkShouldDeallocate: pulumi.Input<boolean>;
195
+ networkTtlInHours?: pulumi.Input<number>;
196
+ publicIpShouldDeallocate: pulumi.Input<boolean>;
197
+ publicIpTtlInHours?: pulumi.Input<number>;
198
+ shouldTerminateVm: pulumi.Input<boolean>;
199
+ snapshotShouldDeallocate: pulumi.Input<boolean>;
200
+ snapshotTtlInHours?: pulumi.Input<number>;
201
+ }
202
+ export interface StatefulNodeAzureDetachDataDisk {
203
+ dataDiskName: pulumi.Input<string>;
204
+ dataDiskResourceGroupName: pulumi.Input<string>;
205
+ shouldDeallocate: pulumi.Input<boolean>;
206
+ ttlInHours?: pulumi.Input<number>;
207
+ }
208
+ export interface StatefulNodeAzureExtension {
209
+ apiVersion: pulumi.Input<string>;
210
+ minorVersionAutoUpgrade: pulumi.Input<boolean>;
211
+ name: pulumi.Input<string>;
212
+ protectedSettings?: pulumi.Input<{
213
+ [key: string]: any;
214
+ }>;
215
+ publicSettings?: pulumi.Input<{
216
+ [key: string]: any;
217
+ }>;
218
+ publisher: pulumi.Input<string>;
219
+ type: pulumi.Input<string>;
220
+ }
221
+ export interface StatefulNodeAzureHealth {
222
+ autoHealing: pulumi.Input<boolean>;
223
+ gracePeriod?: pulumi.Input<number>;
224
+ healthCheckTypes: pulumi.Input<pulumi.Input<string>[]>;
225
+ unhealthyDuration?: pulumi.Input<number>;
226
+ }
227
+ export interface StatefulNodeAzureImage {
228
+ customImages?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureImageCustomImage>[]>;
229
+ galleries?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureImageGallery>[]>;
230
+ marketplaceImages?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureImageMarketplaceImage>[]>;
231
+ }
232
+ export interface StatefulNodeAzureImageCustomImage {
233
+ customImageResourceGroupName: pulumi.Input<string>;
234
+ name: pulumi.Input<string>;
235
+ }
236
+ export interface StatefulNodeAzureImageGallery {
237
+ galleryName: pulumi.Input<string>;
238
+ galleryResourceGroupName: pulumi.Input<string>;
239
+ imageName: pulumi.Input<string>;
240
+ versionName: pulumi.Input<string>;
241
+ }
242
+ export interface StatefulNodeAzureImageMarketplaceImage {
243
+ offer: pulumi.Input<string>;
244
+ publisher: pulumi.Input<string>;
245
+ sku: pulumi.Input<string>;
246
+ version: pulumi.Input<string>;
247
+ }
248
+ export interface StatefulNodeAzureImportVm {
249
+ drainingTimeout?: pulumi.Input<number>;
250
+ originalVmName: pulumi.Input<string>;
251
+ resourceGroupName: pulumi.Input<string>;
252
+ resourcesRetentionTime?: pulumi.Input<number>;
253
+ }
254
+ export interface StatefulNodeAzureLoadBalancer {
255
+ backendPoolNames: pulumi.Input<pulumi.Input<string>[]>;
256
+ name: pulumi.Input<string>;
257
+ resourceGroupName: pulumi.Input<string>;
258
+ sku?: pulumi.Input<string>;
259
+ type: pulumi.Input<string>;
260
+ }
261
+ export interface StatefulNodeAzureLogin {
262
+ password?: pulumi.Input<string>;
263
+ sshPublicKey?: pulumi.Input<string>;
264
+ userName: pulumi.Input<string>;
265
+ }
266
+ export interface StatefulNodeAzureManagedServiceIdentity {
267
+ name: pulumi.Input<string>;
268
+ resourceGroupName: pulumi.Input<string>;
269
+ }
270
+ export interface StatefulNodeAzureNetwork {
271
+ networkInterfaces: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureNetworkNetworkInterface>[]>;
272
+ networkResourceGroupName: pulumi.Input<string>;
273
+ virtualNetworkName: pulumi.Input<string>;
274
+ }
275
+ export interface StatefulNodeAzureNetworkNetworkInterface {
276
+ additionalIpConfigurations?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfiguration>[]>;
277
+ applicationSecurityGroups?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroup>[]>;
278
+ assignPublicIp?: pulumi.Input<boolean>;
279
+ enableIpForwarding?: pulumi.Input<boolean>;
280
+ isPrimary: pulumi.Input<boolean>;
281
+ networkSecurityGroups?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroup>[]>;
282
+ privateIpAddresses?: pulumi.Input<pulumi.Input<string>[]>;
283
+ publicIpSku?: pulumi.Input<string>;
284
+ publicIps?: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureNetworkNetworkInterfacePublicIp>[]>;
285
+ subnetName: pulumi.Input<string>;
286
+ }
287
+ export interface StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfiguration {
288
+ name: pulumi.Input<string>;
289
+ privateIpAddressVersion: pulumi.Input<string>;
290
+ }
291
+ export interface StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroup {
292
+ name: pulumi.Input<string>;
293
+ networkResourceGroupName: pulumi.Input<string>;
294
+ }
295
+ export interface StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroup {
296
+ name?: pulumi.Input<string>;
297
+ networkResourceGroupName?: pulumi.Input<string>;
298
+ }
299
+ export interface StatefulNodeAzureNetworkNetworkInterfacePublicIp {
300
+ name: pulumi.Input<string>;
301
+ networkResourceGroupName: pulumi.Input<string>;
302
+ }
303
+ export interface StatefulNodeAzureOsDisk {
304
+ sizeGb?: pulumi.Input<number>;
305
+ type: pulumi.Input<string>;
306
+ }
307
+ export interface StatefulNodeAzureSchedulingTask {
308
+ cronExpression: pulumi.Input<string>;
309
+ isEnabled: pulumi.Input<boolean>;
310
+ type: pulumi.Input<string>;
311
+ }
312
+ export interface StatefulNodeAzureSecret {
313
+ sourceVaults: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureSecretSourceVault>[]>;
314
+ vaultCertificates: pulumi.Input<pulumi.Input<inputs.StatefulNodeAzureSecretVaultCertificate>[]>;
315
+ }
316
+ export interface StatefulNodeAzureSecretSourceVault {
317
+ name: pulumi.Input<string>;
318
+ resourceGroupName: pulumi.Input<string>;
319
+ }
320
+ export interface StatefulNodeAzureSecretVaultCertificate {
321
+ certificateStore?: pulumi.Input<string>;
322
+ certificateUrl?: pulumi.Input<string>;
323
+ }
324
+ export interface StatefulNodeAzureSignal {
325
+ timeout: pulumi.Input<number>;
326
+ type: pulumi.Input<string>;
327
+ }
328
+ export interface StatefulNodeAzureStrategy {
329
+ drainingTimeout?: pulumi.Input<number>;
330
+ fallbackToOnDemand: pulumi.Input<boolean>;
331
+ optimizationWindows?: pulumi.Input<pulumi.Input<string>[]>;
332
+ preferredLifeCycle?: pulumi.Input<string>;
333
+ revertToSpot?: pulumi.Input<inputs.StatefulNodeAzureStrategyRevertToSpot>;
334
+ }
335
+ export interface StatefulNodeAzureStrategyRevertToSpot {
336
+ performAt: pulumi.Input<string>;
337
+ }
338
+ export interface StatefulNodeAzureTag {
339
+ tagKey: pulumi.Input<string>;
340
+ tagValue?: pulumi.Input<string>;
341
+ }
342
+ export interface StatefulNodeAzureUpdateState {
343
+ state: pulumi.Input<string>;
344
+ }
173
345
  export declare namespace aws {
174
346
  interface BeanstalkDeploymentPreferences {
175
347
  /**
package/types/output.d.ts CHANGED
@@ -169,6 +169,178 @@ export interface HealthCheckCheck {
169
169
  */
170
170
  unhealthy: number;
171
171
  }
172
+ export interface StatefulNodeAzureAttachDataDisk {
173
+ dataDiskName: string;
174
+ dataDiskResourceGroupName: string;
175
+ lun?: number;
176
+ sizeGb: number;
177
+ storageAccountType: string;
178
+ zone?: string;
179
+ }
180
+ export interface StatefulNodeAzureBootDiagnostic {
181
+ isEnabled: boolean;
182
+ storageUrl: string;
183
+ type: string;
184
+ }
185
+ export interface StatefulNodeAzureDataDisk {
186
+ lun: number;
187
+ sizeGb: number;
188
+ type: string;
189
+ }
190
+ export interface StatefulNodeAzureDelete {
191
+ diskShouldDeallocate: boolean;
192
+ diskTtlInHours?: number;
193
+ networkShouldDeallocate: boolean;
194
+ networkTtlInHours?: number;
195
+ publicIpShouldDeallocate: boolean;
196
+ publicIpTtlInHours?: number;
197
+ shouldTerminateVm: boolean;
198
+ snapshotShouldDeallocate: boolean;
199
+ snapshotTtlInHours?: number;
200
+ }
201
+ export interface StatefulNodeAzureDetachDataDisk {
202
+ dataDiskName: string;
203
+ dataDiskResourceGroupName: string;
204
+ shouldDeallocate: boolean;
205
+ ttlInHours?: number;
206
+ }
207
+ export interface StatefulNodeAzureExtension {
208
+ apiVersion: string;
209
+ minorVersionAutoUpgrade: boolean;
210
+ name: string;
211
+ protectedSettings: {
212
+ [key: string]: any;
213
+ };
214
+ publicSettings: {
215
+ [key: string]: any;
216
+ };
217
+ publisher: string;
218
+ type: string;
219
+ }
220
+ export interface StatefulNodeAzureHealth {
221
+ autoHealing: boolean;
222
+ gracePeriod: number;
223
+ healthCheckTypes: string[];
224
+ unhealthyDuration: number;
225
+ }
226
+ export interface StatefulNodeAzureImage {
227
+ customImages: outputs.StatefulNodeAzureImageCustomImage[];
228
+ galleries: outputs.StatefulNodeAzureImageGallery[];
229
+ marketplaceImages: outputs.StatefulNodeAzureImageMarketplaceImage[];
230
+ }
231
+ export interface StatefulNodeAzureImageCustomImage {
232
+ customImageResourceGroupName: string;
233
+ name: string;
234
+ }
235
+ export interface StatefulNodeAzureImageGallery {
236
+ galleryName: string;
237
+ galleryResourceGroupName: string;
238
+ imageName: string;
239
+ versionName: string;
240
+ }
241
+ export interface StatefulNodeAzureImageMarketplaceImage {
242
+ offer: string;
243
+ publisher: string;
244
+ sku: string;
245
+ version: string;
246
+ }
247
+ export interface StatefulNodeAzureImportVm {
248
+ drainingTimeout?: number;
249
+ originalVmName: string;
250
+ resourceGroupName: string;
251
+ resourcesRetentionTime?: number;
252
+ }
253
+ export interface StatefulNodeAzureLoadBalancer {
254
+ backendPoolNames: string[];
255
+ name: string;
256
+ resourceGroupName: string;
257
+ sku: string;
258
+ type: string;
259
+ }
260
+ export interface StatefulNodeAzureLogin {
261
+ password: string;
262
+ sshPublicKey: string;
263
+ userName: string;
264
+ }
265
+ export interface StatefulNodeAzureManagedServiceIdentity {
266
+ name: string;
267
+ resourceGroupName: string;
268
+ }
269
+ export interface StatefulNodeAzureNetwork {
270
+ networkInterfaces: outputs.StatefulNodeAzureNetworkNetworkInterface[];
271
+ networkResourceGroupName: string;
272
+ virtualNetworkName: string;
273
+ }
274
+ export interface StatefulNodeAzureNetworkNetworkInterface {
275
+ additionalIpConfigurations: outputs.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfiguration[];
276
+ applicationSecurityGroups: outputs.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroup[];
277
+ assignPublicIp: boolean;
278
+ enableIpForwarding: boolean;
279
+ isPrimary: boolean;
280
+ networkSecurityGroups: outputs.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroup[];
281
+ privateIpAddresses: string[];
282
+ publicIpSku: string;
283
+ publicIps: outputs.StatefulNodeAzureNetworkNetworkInterfacePublicIp[];
284
+ subnetName: string;
285
+ }
286
+ export interface StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfiguration {
287
+ name: string;
288
+ privateIpAddressVersion: string;
289
+ }
290
+ export interface StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroup {
291
+ name: string;
292
+ networkResourceGroupName: string;
293
+ }
294
+ export interface StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroup {
295
+ name: string;
296
+ networkResourceGroupName: string;
297
+ }
298
+ export interface StatefulNodeAzureNetworkNetworkInterfacePublicIp {
299
+ name: string;
300
+ networkResourceGroupName: string;
301
+ }
302
+ export interface StatefulNodeAzureOsDisk {
303
+ sizeGb: number;
304
+ type: string;
305
+ }
306
+ export interface StatefulNodeAzureSchedulingTask {
307
+ cronExpression: string;
308
+ isEnabled: boolean;
309
+ type: string;
310
+ }
311
+ export interface StatefulNodeAzureSecret {
312
+ sourceVaults: outputs.StatefulNodeAzureSecretSourceVault[];
313
+ vaultCertificates: outputs.StatefulNodeAzureSecretVaultCertificate[];
314
+ }
315
+ export interface StatefulNodeAzureSecretSourceVault {
316
+ name: string;
317
+ resourceGroupName: string;
318
+ }
319
+ export interface StatefulNodeAzureSecretVaultCertificate {
320
+ certificateStore: string;
321
+ certificateUrl: string;
322
+ }
323
+ export interface StatefulNodeAzureSignal {
324
+ timeout: number;
325
+ type: string;
326
+ }
327
+ export interface StatefulNodeAzureStrategy {
328
+ drainingTimeout: number;
329
+ fallbackToOnDemand: boolean;
330
+ optimizationWindows?: string[];
331
+ preferredLifeCycle: string;
332
+ revertToSpot: outputs.StatefulNodeAzureStrategyRevertToSpot;
333
+ }
334
+ export interface StatefulNodeAzureStrategyRevertToSpot {
335
+ performAt: string;
336
+ }
337
+ export interface StatefulNodeAzureTag {
338
+ tagKey: string;
339
+ tagValue: string;
340
+ }
341
+ export interface StatefulNodeAzureUpdateState {
342
+ state: string;
343
+ }
172
344
  export declare namespace aws {
173
345
  interface BeanstalkDeploymentPreferences {
174
346
  /**