Elastigroup
Provides a Spotinst elastigroup Azure resource.
Load Balancers
load_balancers- (Required) Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.type- (Required) The resource type. Valid values: CLASSIC, TARGET_GROUP, MULTAI_TARGET_SET.balancer_id- (Required) The balancer ID.target_set_id- (Required) The scale set ID associated with the load balancer.auto_weight- (Optional, Default:false)
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Image
image- (Required) Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.publisher- (Optional) Image publisher. Required if resource_group_name is not specified.offer- (Optional) Name of the image to use. Required if publisher is specified.sku- (Optional) Image’s Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.resource_group_name- (Optional) Name of Resource Group for custom image. Required if publisher not specified.image_name- (Optional) Name of the custom image. Required if resource_group_name is specified.
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Health Check
health_check- (Optional) Describes the health check configuration.health_check_type- (Optional) Health check used to validate VM health. Valid values: “INSTANCE_STATE”.grace_period- (Optional) Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.auto_healing- (Optional) Enable auto-healing of unhealthy VMs.
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Network
network- (Required) Defines the Virtual Network and Subnet for your Elastigroup.virtual_network_name- (Required) Name of Vnet.subnet_name- (Required) ID of subnet.resource_group_name- (Required) Vnet Resource Group Name.assign_public_up- (Optional, Default:false) Assign a public IP to each VM in the Elastigroup.additional_ip_configs- (Optional) Array of additional IP configuration objects.name- (Required) The IP configuration name.private_ip_version- (Optional) Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Valid values:IPv4,IPv6.
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Login
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Login
login- (Required) Describes the login configuration.user_name- (Required) Set admin access for accessing your VMs.ssh_public_key- (Optional) SSH for admin access to Linux VMs. Required for Linux product types.password- (Optional) Password for admin access to Windows VMs. Required for Windows product types.
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Scheduling
scheduled_task- (Optional) Describes the configuration of one or more scheduled tasks.is_enabled- (Optional, Default:true) Describes whether the task is enabled. When true the task should run when false it should not run.cron_expression- (Required) A valid cron expression (* * * * *). The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script.task_type- (Required) The task type to run. Valid Values:backup_ami,scale,scaleUp,roll,statefulUpdateCapacity,statefulRecycle.scale_min_capacity- (Optional) The min capacity of the group. Should be used when choosing ‘task_type’ of ‘scale’.scale_max_capacity- (Optional) The max capacity of the group. Required when ‘task_type’ is ‘scale’.scale_target_capacity- (Optional) The target capacity of the group. Should be used when choosing ‘task_type’ of ‘scale’.adjustment- (Optional) The number of instances to add/remove to/from the target capacity when scale is needed.adjustment_percentage- (Optional) The percent of instances to add/remove to/from the target capacity when scale is needed.batch_size_percentage- (Optional) The percentage size of each batch in the scheduled deployment roll. Required when the ‘task_type’ is ‘roll’.grace_period- (Optional) The time to allow instances to become healthy.
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Update Policy
update_policy- (Optional)should_roll- (Required) Sets the enablement of the roll option.roll_config- (Required) While used, you can control whether the group should perform a deployment after an update to the configuration.batch_size_percentage- (Required) Sets the percentage of the instances to deploy in each batch.health_check_type- (Optional) Sets the health check type to use. Valid values:"INSTANCE_STATE","NONE".grace_period- (Optional) Sets the grace period for new instances to become healthy.
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Third-Party Integrations
integration_kubernetes- (Optional) Describes the Kubernetes integration.cluster_identifier- (Required) The cluster ID.
Usage:
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
integration_multai_runtime- (Optional) Describes the Multai Runtime integration.deployment_id- (Optional) The deployment id you want to get
Usage:
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Example Usage
using Pulumi;
using SpotInst = Pulumi.SpotInst;
class MyStack : Stack
{
public MyStack()
{
var testAzureGroup = new SpotInst.Azure.Elastigroup("testAzureGroup", new SpotInst.Azure.ElastigroupArgs
{
DesiredCapacity = 1,
HealthCheck = new SpotInst.Azure.Inputs.ElastigroupHealthCheckArgs
{
AutoHealing = true,
GracePeriod = 120,
HealthCheckType = "INSTANCE_STATE",
},
Images =
{
new SpotInst.Azure.Inputs.ElastigroupImageArgs
{
Marketplace =
{
{
{ "offer", "UbuntuServer" },
{ "publisher", "Canonical" },
{ "sku", "16.04-LTS" },
},
},
},
},
LoadBalancers =
{
new SpotInst.Azure.Inputs.ElastigroupLoadBalancerArgs
{
AutoWeight = true,
BalancerId = "lb-1ee2e3q",
TargetSetId = "ts-3eq",
Type = "MULTAI_TARGET_SET",
},
},
Login = new SpotInst.Azure.Inputs.ElastigroupLoginArgs
{
SshPublicKey = "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
UserName = "admin",
},
LowPrioritySizes =
{
"standard_a1_v1",
"standard_a1_v2",
},
ManagedServiceIdentities =
{
new SpotInst.Azure.Inputs.ElastigroupManagedServiceIdentityArgs
{
Name = "example-identity",
ResourceGroupName = "spotinst-azure",
},
},
MaxSize = 1,
MinSize = 0,
Network = new SpotInst.Azure.Inputs.ElastigroupNetworkArgs
{
AssignPublicIp = true,
ResourceGroupName = "subnetResourceGroup",
SubnetName = "my-subnet-name",
VirtualNetworkName = "vname",
},
OdSizes =
{
"standard_a1_v1",
"standard_a1_v2",
},
Product = "Linux",
Region = "eastus",
ResourceGroupName = "spotinst-azure",
ScalingDownPolicies =
{
new SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyArgs
{
ActionType = "adjustment",
Adjustment = "MIN(5,10)",
Cooldown = 60,
Dimensions =
{
new SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyDimensionArgs
{
Name = "name-1",
Value = "value-1",
},
},
EvaluationPeriods = 10,
MetricName = "CPUUtilization",
Namespace = "Microsoft.Compute",
Operator = "gt",
Period = 60,
PolicyName = "policy-name",
Statistic = "average",
Threshold = 10,
Unit = "percent",
},
},
ScalingUpPolicies =
{
new SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyArgs
{
ActionType = "setMinTarget",
Cooldown = 60,
Dimensions =
{
new SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyDimensionArgs
{
Name = "resourceName",
Value = "resource-name",
},
new SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyDimensionArgs
{
Name = "resourceGroupName",
Value = "resource-group-name",
},
},
EvaluationPeriods = 10,
MetricName = "CPUUtilization",
MinTargetCapacity = "1",
Namespace = "Microsoft.Compute",
Operator = "gt",
Period = 60,
PolicyName = "policy-name",
Statistic = "average",
Threshold = 10,
Unit = "percent",
},
},
ScheduledTasks =
{
new SpotInst.Azure.Inputs.ElastigroupScheduledTaskArgs
{
Adjustment = "2",
AdjustmentPercentage = "50",
BatchSizePercentage = "33",
CronExpression = "* * * * *",
GracePeriod = "300",
IsEnabled = true,
ScaleMaxCapacity = "8",
ScaleMinCapacity = "5",
ScaleTargetCapacity = "6",
TaskType = "scale",
},
},
ShutdownScript = "",
Strategy = new SpotInst.Azure.Inputs.ElastigroupStrategyArgs
{
DrainingTimeout = 300,
OdCount = 1,
},
UserData = "",
});
}
}
Coming soon!
import pulumi
import pulumi_spotinst as spotinst
test_azure_group = spotinst.azure.Elastigroup("testAzureGroup",
desired_capacity=1,
health_check={
"auto_healing": True,
"grace_period": 120,
"health_check_type": "INSTANCE_STATE",
},
images=[{
"marketplace": [{
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "16.04-LTS",
}],
}],
load_balancers=[{
"autoWeight": True,
"balancer_id": "lb-1ee2e3q",
"target_set_id": "ts-3eq",
"type": "MULTAI_TARGET_SET",
}],
login={
"sshPublicKey": "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
"userName": "admin",
},
low_priority_sizes=[
"standard_a1_v1",
"standard_a1_v2",
],
managed_service_identities=[{
"name": "example-identity",
"resource_group_name": "spotinst-azure",
}],
max_size=1,
min_size=0,
network={
"assignPublicIp": True,
"resource_group_name": "subnetResourceGroup",
"subnetName": "my-subnet-name",
"virtualNetworkName": "vname",
},
od_sizes=[
"standard_a1_v1",
"standard_a1_v2",
],
product="Linux",
region="eastus",
resource_group_name="spotinst-azure",
scaling_down_policies=[{
"actionType": "adjustment",
"adjustment": "MIN(5,10)",
"cooldown": 60,
"dimensions": [{
"name": "name-1",
"value": "value-1",
}],
"evaluationPeriods": "10",
"metricName": "CPUUtilization",
"namespace": "Microsoft.Compute",
"operator": "gt",
"period": "60",
"policyName": "policy-name",
"statistic": "average",
"threshold": 10,
"unit": "percent",
}],
scaling_up_policies=[{
"actionType": "setMinTarget",
"cooldown": 60,
"dimensions": [
{
"name": "resourceName",
"value": "resource-name",
},
{
"name": "resourceGroupName",
"value": "resource-group-name",
},
],
"evaluationPeriods": "10",
"metricName": "CPUUtilization",
"minTargetCapacity": 1,
"namespace": "Microsoft.Compute",
"operator": "gt",
"period": "60",
"policyName": "policy-name",
"statistic": "average",
"threshold": 10,
"unit": "percent",
}],
scheduled_tasks=[{
"adjustment": 2,
"adjustmentPercentage": 50,
"batchSizePercentage": 33,
"cronExpression": "* * * * *",
"grace_period": 300,
"isEnabled": True,
"scaleMaxCapacity": 8,
"scaleMinCapacity": 5,
"scaleTargetCapacity": 6,
"taskType": "scale",
}],
shutdown_script="",
strategy={
"draining_timeout": 300,
"odCount": 1,
},
user_data="")import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";
const testAzureGroup = new spotinst.azure.Elastigroup("test_azure_group", {
desiredCapacity: 1,
// --- HEALTH-CHECKS -------------------------------------------------
healthCheck: {
autoHealing: true,
gracePeriod: 120,
healthCheckType: "INSTANCE_STATE",
},
// --- IMAGE ---------------------------------------------------------
images: [{
marketplaces: [{
offer: "UbuntuServer",
publisher: "Canonical",
sku: "16.04-LTS",
}],
}],
// --- LOAD BALANCERS ------------------------------------------------
loadBalancers: [{
autoWeight: true,
balancerId: "lb-1ee2e3q",
targetSetId: "ts-3eq",
type: "MULTAI_TARGET_SET",
}],
// --- LOGIN ---------------------------------------------------------
login: {
sshPublicKey: "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
userName: "admin",
},
lowPrioritySizes: [
"standard_a1_v1",
"standard_a1_v2",
],
managedServiceIdentities: [{
name: "example-identity",
resourceGroupName: "spotinst-azure",
}],
maxSize: 1,
// --- CAPACITY ------------------------------------------------------
minSize: 0,
// --- NETWORK -------------------------------------------------------
network: {
assignPublicIp: true,
resourceGroupName: "subnetResourceGroup",
subnetName: "my-subnet-name",
virtualNetworkName: "vname",
},
// --- INSTANCE TYPES ------------------------------------------------
odSizes: [
"standard_a1_v1",
"standard_a1_v2",
],
product: "Linux",
region: "eastus",
resourceGroupName: "spotinst-azure",
scalingDownPolicies: [{
actionType: "adjustment",
adjustment: "MIN(5,10)",
cooldown: 60,
dimensions: [{
name: "name-1",
value: "value-1",
}],
evaluationPeriods: 10,
metricName: "CPUUtilization",
namespace: "Microsoft.Compute",
operator: "gt",
period: 60,
policyName: "policy-name",
statistic: "average",
threshold: 10,
unit: "percent",
}],
// --- SCALING POLICIES ----------------------------------------------
scalingUpPolicies: [{
actionType: "setMinTarget",
cooldown: 60,
dimensions: [
{
name: "resourceName",
value: "resource-name",
},
{
name: "resourceGroupName",
value: "resource-group-name",
},
],
evaluationPeriods: 10,
metricName: "CPUUtilization",
minTargetCapacity: "1",
namespace: "Microsoft.Compute",
operator: "gt",
period: 60,
policyName: "policy-name",
statistic: "average",
threshold: 10,
unit: "percent",
}],
// --- SCHEDULED TASK ------------------------------------------------
scheduledTasks: [{
adjustment: "2",
adjustmentPercentage: "50",
batchSizePercentage: "33",
cronExpression: "* * * * *",
gracePeriod: "300",
isEnabled: true,
scaleMaxCapacity: "8",
scaleMinCapacity: "5",
scaleTargetCapacity: "6",
taskType: "scale",
}],
shutdownScript: "",
// --- STRATEGY ------------------------------------------------------
strategy: {
drainingTimeout: 300,
odCount: 1,
},
userData: "",
});Create a Elastigroup Resource
new Elastigroup(name: string, args: ElastigroupArgs, opts?: CustomResourceOptions);def Elastigroup(resource_name, opts=None, custom_data=None, desired_capacity=None, health_check=None, images=None, integration_kubernetes=None, integration_multai_runtime=None, load_balancers=None, login=None, low_priority_sizes=None, managed_service_identities=None, max_size=None, min_size=None, name=None, network=None, od_sizes=None, product=None, region=None, resource_group_name=None, scaling_down_policies=None, scaling_up_policies=None, scheduled_tasks=None, shutdown_script=None, strategy=None, update_policy=None, user_data=None, __props__=None);func NewElastigroup(ctx *Context, name string, args ElastigroupArgs, opts ...ResourceOption) (*Elastigroup, error)public Elastigroup(string name, ElastigroupArgs args, CustomResourceOptions? opts = null)- name string
- The unique name of the resource.
- args ElastigroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- opts ResourceOptions
- A bag of options that control this resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ElastigroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ElastigroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
Elastigroup Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.
Inputs
The Elastigroup resource accepts the following input properties:
- Low
Priority List<string>Sizes Available Low-Priority sizes.
- Network
Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Network Args - Od
Sizes List<string> Available On-Demand sizes
- Product string
Operation system type. Valid values:
"Linux","Windows".- Region string
The region your Azure group will be created in.
- Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- Strategy
Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Strategy Args Describes the deployment strategy.
- Custom
Data string - Desired
Capacity int The desired number of instances the group should have at any time.
- Health
Check Pulumi.Spot Inst. Azure. Inputs. Elastigroup Health Check Args - Images
List<Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Image Args> - Integration
Kubernetes Pulumi.Spot Inst. Azure. Inputs. Elastigroup Integration Kubernetes Args - Integration
Multai Pulumi.Runtime Spot Inst. Azure. Inputs. Elastigroup Integration Multai Runtime Args - Load
Balancers List<Pulumi.Spot Inst. Azure. Inputs. Elastigroup Load Balancer Args> - Login
Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Login Args - Managed
Service List<Pulumi.Identities Spot Inst. Azure. Inputs. Elastigroup Managed Service Identity Args> - Max
Size int The maximum number of instances the group should have at any time.
- Min
Size int The minimum number of instances the group should have at any time.
- Name string
The name of the managed identity.
- Scaling
Down List<Pulumi.Policies Spot Inst. Azure. Inputs. Elastigroup Scaling Down Policy Args> - Scaling
Up List<Pulumi.Policies Spot Inst. Azure. Inputs. Elastigroup Scaling Up Policy Args> - Scheduled
Tasks List<Pulumi.Spot Inst. Azure. Inputs. Elastigroup Scheduled Task Args> - Shutdown
Script string Shutdown script for the group. Value should be passed as a string encoded at Base64 only.
- Update
Policy Pulumi.Spot Inst. Azure. Inputs. Elastigroup Update Policy Args - User
Data string Base64-encoded MIME user data to make available to the instances.
- Low
Priority []stringSizes Available Low-Priority sizes.
- Network
Elastigroup
Network - Od
Sizes []string Available On-Demand sizes
- Product string
Operation system type. Valid values:
"Linux","Windows".- Region string
The region your Azure group will be created in.
- Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- Strategy
Elastigroup
Strategy Describes the deployment strategy.
- Custom
Data string - Desired
Capacity int The desired number of instances the group should have at any time.
- Health
Check ElastigroupHealth Check - Images
[]Elastigroup
Image - Integration
Kubernetes ElastigroupIntegration Kubernetes - Integration
Multai ElastigroupRuntime Integration Multai Runtime - Load
Balancers []ElastigroupLoad Balancer - Login
Elastigroup
Login - Managed
Service []ElastigroupIdentities Managed Service Identity - Max
Size int The maximum number of instances the group should have at any time.
- Min
Size int The minimum number of instances the group should have at any time.
- Name string
The name of the managed identity.
- Scaling
Down []ElastigroupPolicies Scaling Down Policy - Scaling
Up []ElastigroupPolicies Scaling Up Policy - Scheduled
Tasks []ElastigroupScheduled Task - Shutdown
Script string Shutdown script for the group. Value should be passed as a string encoded at Base64 only.
- Update
Policy ElastigroupUpdate Policy - User
Data string Base64-encoded MIME user data to make available to the instances.
- low
Priority string[]Sizes Available Low-Priority sizes.
- network
Elastigroup
Network - od
Sizes string[] Available On-Demand sizes
- product string
Operation system type. Valid values:
"Linux","Windows".- region string
The region your Azure group will be created in.
- resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- strategy
Elastigroup
Strategy Describes the deployment strategy.
- custom
Data string - desired
Capacity number The desired number of instances the group should have at any time.
- health
Check ElastigroupHealth Check - images
Elastigroup
Image[] - integration
Kubernetes ElastigroupIntegration Kubernetes - integration
Multai ElastigroupRuntime Integration Multai Runtime - load
Balancers ElastigroupLoad Balancer[] - login
Elastigroup
Login - managed
Service ElastigroupIdentities Managed Service Identity[] - max
Size number The maximum number of instances the group should have at any time.
- min
Size number The minimum number of instances the group should have at any time.
- name string
The name of the managed identity.
- scaling
Down ElastigroupPolicies Scaling Down Policy[] - scaling
Up ElastigroupPolicies Scaling Up Policy[] - scheduled
Tasks ElastigroupScheduled Task[] - shutdown
Script string Shutdown script for the group. Value should be passed as a string encoded at Base64 only.
- update
Policy ElastigroupUpdate Policy - user
Data string Base64-encoded MIME user data to make available to the instances.
- low_
priority_ List[str]sizes Available Low-Priority sizes.
- network
Dict[Elastigroup
Network] - od_
sizes List[str] Available On-Demand sizes
- product str
Operation system type. Valid values:
"Linux","Windows".- region str
The region your Azure group will be created in.
- resource_
group_ strname The Resource Group that the user-assigned managed identity resides in.
- strategy
Dict[Elastigroup
Strategy] Describes the deployment strategy.
- custom_
data str - desired_
capacity float The desired number of instances the group should have at any time.
- health_
check Dict[ElastigroupHealth Check] - images
List[Elastigroup
Image] - integration_
kubernetes Dict[ElastigroupIntegration Kubernetes] - integration_
multai_ Dict[Elastigroupruntime Integration Multai Runtime] - load_
balancers List[ElastigroupLoad Balancer] - login
Dict[Elastigroup
Login] - managed_
service_ List[Elastigroupidentities Managed Service Identity] - max_
size float The maximum number of instances the group should have at any time.
- min_
size float The minimum number of instances the group should have at any time.
- name str
The name of the managed identity.
- scaling_
down_ List[Elastigrouppolicies Scaling Down Policy] - scaling_
up_ List[Elastigrouppolicies Scaling Up Policy] - scheduled_
tasks List[ElastigroupScheduled Task] - shutdown_
script str Shutdown script for the group. Value should be passed as a string encoded at Base64 only.
- update_
policy Dict[ElastigroupUpdate Policy] - user_
data str Base64-encoded MIME user data to make available to the instances.
Outputs
All input properties are implicitly available as output properties. Additionally, the Elastigroup resource produces the following output properties:
Look up an Existing Elastigroup Resource
Get an existing Elastigroup 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?: ElastigroupState, opts?: CustomResourceOptions): Elastigroupstatic get(resource_name, id, opts=None, custom_data=None, desired_capacity=None, health_check=None, images=None, integration_kubernetes=None, integration_multai_runtime=None, load_balancers=None, login=None, low_priority_sizes=None, managed_service_identities=None, max_size=None, min_size=None, name=None, network=None, od_sizes=None, product=None, region=None, resource_group_name=None, scaling_down_policies=None, scaling_up_policies=None, scheduled_tasks=None, shutdown_script=None, strategy=None, update_policy=None, user_data=None, __props__=None);func GetElastigroup(ctx *Context, name string, id IDInput, state *ElastigroupState, opts ...ResourceOption) (*Elastigroup, error)public static Elastigroup Get(string name, Input<string> id, ElastigroupState? state, CustomResourceOptions? opts = null)- 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.
The following state arguments are supported:
- Custom
Data string - Desired
Capacity int The desired number of instances the group should have at any time.
- Health
Check Pulumi.Spot Inst. Azure. Inputs. Elastigroup Health Check Args - Images
List<Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Image Args> - Integration
Kubernetes Pulumi.Spot Inst. Azure. Inputs. Elastigroup Integration Kubernetes Args - Integration
Multai Pulumi.Runtime Spot Inst. Azure. Inputs. Elastigroup Integration Multai Runtime Args - Load
Balancers List<Pulumi.Spot Inst. Azure. Inputs. Elastigroup Load Balancer Args> - Login
Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Login Args - Low
Priority List<string>Sizes Available Low-Priority sizes.
- Managed
Service List<Pulumi.Identities Spot Inst. Azure. Inputs. Elastigroup Managed Service Identity Args> - Max
Size int The maximum number of instances the group should have at any time.
- Min
Size int The minimum number of instances the group should have at any time.
- Name string
The name of the managed identity.
- Network
Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Network Args - Od
Sizes List<string> Available On-Demand sizes
- Product string
Operation system type. Valid values:
"Linux","Windows".- Region string
The region your Azure group will be created in.
- Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- Scaling
Down List<Pulumi.Policies Spot Inst. Azure. Inputs. Elastigroup Scaling Down Policy Args> - Scaling
Up List<Pulumi.Policies Spot Inst. Azure. Inputs. Elastigroup Scaling Up Policy Args> - Scheduled
Tasks List<Pulumi.Spot Inst. Azure. Inputs. Elastigroup Scheduled Task Args> - Shutdown
Script string Shutdown script for the group. Value should be passed as a string encoded at Base64 only.
- Strategy
Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Strategy Args Describes the deployment strategy.
- Update
Policy Pulumi.Spot Inst. Azure. Inputs. Elastigroup Update Policy Args - User
Data string Base64-encoded MIME user data to make available to the instances.
- Custom
Data string - Desired
Capacity int The desired number of instances the group should have at any time.
- Health
Check ElastigroupHealth Check - Images
[]Elastigroup
Image - Integration
Kubernetes ElastigroupIntegration Kubernetes - Integration
Multai ElastigroupRuntime Integration Multai Runtime - Load
Balancers []ElastigroupLoad Balancer - Login
Elastigroup
Login - Low
Priority []stringSizes Available Low-Priority sizes.
- Managed
Service []ElastigroupIdentities Managed Service Identity - Max
Size int The maximum number of instances the group should have at any time.
- Min
Size int The minimum number of instances the group should have at any time.
- Name string
The name of the managed identity.
- Network
Elastigroup
Network - Od
Sizes []string Available On-Demand sizes
- Product string
Operation system type. Valid values:
"Linux","Windows".- Region string
The region your Azure group will be created in.
- Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- Scaling
Down []ElastigroupPolicies Scaling Down Policy - Scaling
Up []ElastigroupPolicies Scaling Up Policy - Scheduled
Tasks []ElastigroupScheduled Task - Shutdown
Script string Shutdown script for the group. Value should be passed as a string encoded at Base64 only.
- Strategy
Elastigroup
Strategy Describes the deployment strategy.
- Update
Policy ElastigroupUpdate Policy - User
Data string Base64-encoded MIME user data to make available to the instances.
- custom
Data string - desired
Capacity number The desired number of instances the group should have at any time.
- health
Check ElastigroupHealth Check - images
Elastigroup
Image[] - integration
Kubernetes ElastigroupIntegration Kubernetes - integration
Multai ElastigroupRuntime Integration Multai Runtime - load
Balancers ElastigroupLoad Balancer[] - login
Elastigroup
Login - low
Priority string[]Sizes Available Low-Priority sizes.
- managed
Service ElastigroupIdentities Managed Service Identity[] - max
Size number The maximum number of instances the group should have at any time.
- min
Size number The minimum number of instances the group should have at any time.
- name string
The name of the managed identity.
- network
Elastigroup
Network - od
Sizes string[] Available On-Demand sizes
- product string
Operation system type. Valid values:
"Linux","Windows".- region string
The region your Azure group will be created in.
- resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- scaling
Down ElastigroupPolicies Scaling Down Policy[] - scaling
Up ElastigroupPolicies Scaling Up Policy[] - scheduled
Tasks ElastigroupScheduled Task[] - shutdown
Script string Shutdown script for the group. Value should be passed as a string encoded at Base64 only.
- strategy
Elastigroup
Strategy Describes the deployment strategy.
- update
Policy ElastigroupUpdate Policy - user
Data string Base64-encoded MIME user data to make available to the instances.
- custom_
data str - desired_
capacity float The desired number of instances the group should have at any time.
- health_
check Dict[ElastigroupHealth Check] - images
List[Elastigroup
Image] - integration_
kubernetes Dict[ElastigroupIntegration Kubernetes] - integration_
multai_ Dict[Elastigroupruntime Integration Multai Runtime] - load_
balancers List[ElastigroupLoad Balancer] - login
Dict[Elastigroup
Login] - low_
priority_ List[str]sizes Available Low-Priority sizes.
- managed_
service_ List[Elastigroupidentities Managed Service Identity] - max_
size float The maximum number of instances the group should have at any time.
- min_
size float The minimum number of instances the group should have at any time.
- name str
The name of the managed identity.
- network
Dict[Elastigroup
Network] - od_
sizes List[str] Available On-Demand sizes
- product str
Operation system type. Valid values:
"Linux","Windows".- region str
The region your Azure group will be created in.
- resource_
group_ strname The Resource Group that the user-assigned managed identity resides in.
- scaling_
down_ List[Elastigrouppolicies Scaling Down Policy] - scaling_
up_ List[Elastigrouppolicies Scaling Up Policy] - scheduled_
tasks List[ElastigroupScheduled Task] - shutdown_
script str Shutdown script for the group. Value should be passed as a string encoded at Base64 only.
- strategy
Dict[Elastigroup
Strategy] Describes the deployment strategy.
- update_
policy Dict[ElastigroupUpdate Policy] - user_
data str Base64-encoded MIME user data to make available to the instances.
Supporting Types
ElastigroupHealthCheck
ElastigroupImage
ElastigroupImageCustom
- Image
Name string - Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- Image
Name string - Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- image
Name string - resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- image
Name str - resource_
group_ strname The Resource Group that the user-assigned managed identity resides in.
ElastigroupImageMarketplace
ElastigroupIntegrationKubernetes
ElastigroupIntegrationMultaiRuntime
ElastigroupLoadBalancer
ElastigroupLogin
ElastigroupManagedServiceIdentity
- Name string
The name of the managed identity.
- Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- Name string
The name of the managed identity.
- Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- name string
The name of the managed identity.
- resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- name str
The name of the managed identity.
- resource_
group_ strname The Resource Group that the user-assigned managed identity resides in.
ElastigroupNetwork
- Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- Subnet
Name string - Virtual
Network stringName - Additional
Ip List<Pulumi.Configs Spot Inst. Azure. Inputs. Elastigroup Network Additional Ip Config Args> - Assign
Public boolIp
- Resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- Subnet
Name string - Virtual
Network stringName - Additional
Ip []ElastigroupConfigs Network Additional Ip Config - Assign
Public boolIp
- resource
Group stringName The Resource Group that the user-assigned managed identity resides in.
- subnet
Name string - virtual
Network stringName - additional
Ip ElastigroupConfigs Network Additional Ip Config[] - assign
Public booleanIp
- resource_
group_ strname The Resource Group that the user-assigned managed identity resides in.
- subnet
Name str - virtual
Network strName - additional
Ip List[ElastigroupConfigs Network Additional Ip Config] - assign
Public boolIp
ElastigroupNetworkAdditionalIpConfig
- Name string
The name of the managed identity.
- Private
Ip stringVersion
- Name string
The name of the managed identity.
- Private
Ip stringVersion
- name string
The name of the managed identity.
- private
Ip stringVersion
- name str
The name of the managed identity.
- private
Ip strVersion
ElastigroupScalingDownPolicy
- Metric
Name string - Namespace string
- Policy
Name string - Threshold double
- Action
Type string - Adjustment string
- Cooldown int
- Dimensions
List<Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Scaling Down Policy Dimension Args> - Evaluation
Periods int - Max
Target stringCapacity - Maximum string
- Min
Target stringCapacity - Minimum string
- Operator string
- Period int
- Statistic string
- Target string
- Unit string
- Metric
Name string - Namespace string
- Policy
Name string - Threshold float64
- Action
Type string - Adjustment string
- Cooldown int
- Dimensions
[]Elastigroup
Scaling Down Policy Dimension - Evaluation
Periods int - Max
Target stringCapacity - Maximum string
- Min
Target stringCapacity - Minimum string
- Operator string
- Period int
- Statistic string
- Target string
- Unit string
- metric
Name string - namespace string
- policy
Name string - threshold number
- action
Type string - adjustment string
- cooldown number
- dimensions
Elastigroup
Scaling Down Policy Dimension[] - evaluation
Periods number - max
Target stringCapacity - maximum string
- min
Target stringCapacity - minimum string
- operator string
- period number
- statistic string
- target string
- unit string
ElastigroupScalingDownPolicyDimension
ElastigroupScalingUpPolicy
- Metric
Name string - Namespace string
- Policy
Name string - Threshold double
- Action
Type string - Adjustment string
- Cooldown int
- Dimensions
List<Pulumi.
Spot Inst. Azure. Inputs. Elastigroup Scaling Up Policy Dimension Args> - Evaluation
Periods int - Max
Target stringCapacity - Maximum string
- Min
Target stringCapacity - Minimum string
- Operator string
- Period int
- Statistic string
- Target string
- Unit string
- Metric
Name string - Namespace string
- Policy
Name string - Threshold float64
- Action
Type string - Adjustment string
- Cooldown int
- Dimensions
[]Elastigroup
Scaling Up Policy Dimension - Evaluation
Periods int - Max
Target stringCapacity - Maximum string
- Min
Target stringCapacity - Minimum string
- Operator string
- Period int
- Statistic string
- Target string
- Unit string
- metric
Name string - namespace string
- policy
Name string - threshold number
- action
Type string - adjustment string
- cooldown number
- dimensions
Elastigroup
Scaling Up Policy Dimension[] - evaluation
Periods number - max
Target stringCapacity - maximum string
- min
Target stringCapacity - minimum string
- operator string
- period number
- statistic string
- target string
- unit string
ElastigroupScalingUpPolicyDimension
ElastigroupScheduledTask
ElastigroupStrategy
- Draining
Timeout int Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.
- Low
Priority intPercentage Percentage of Low Priority instances to maintain. Required if
od_countis not specified.- Od
Count int Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.
- Draining
Timeout int Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.
- Low
Priority intPercentage Percentage of Low Priority instances to maintain. Required if
od_countis not specified.- Od
Count int Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.
- draining
Timeout number Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.
- low
Priority numberPercentage Percentage of Low Priority instances to maintain. Required if
od_countis not specified.- od
Count number Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.
- draining_
timeout float Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.
- low
Priority floatPercentage Percentage of Low Priority instances to maintain. Required if
od_countis not specified.- od
Count float Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.
ElastigroupUpdatePolicy
ElastigroupUpdatePolicyRollConfig
Package Details
- Repository
- https://github.com/pulumi/pulumi-spotinst
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
spotinstTerraform Provider.