aws

package
v0.0.0-...-7a9805f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Beanstalk

type Beanstalk struct {
	// contains filtered or unexported fields
}

Provides a Spotinst AWS group resource using Elastic Beanstalk.

func GetBeanstalk

func GetBeanstalk(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BeanstalkState, opts ...pulumi.ResourceOpt) (*Beanstalk, error)

GetBeanstalk gets an existing Beanstalk resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBeanstalk

func NewBeanstalk(ctx *pulumi.Context,
	name string, args *BeanstalkArgs, opts ...pulumi.ResourceOpt) (*Beanstalk, error)

NewBeanstalk registers a new resource with the given unique name, arguments, and options.

func (*Beanstalk) BeanstalkEnvironmentName

func (r *Beanstalk) BeanstalkEnvironmentName() *pulumi.StringOutput

The name of an existing Beanstalk environment.

func (*Beanstalk) DesiredCapacity

func (r *Beanstalk) DesiredCapacity() *pulumi.IntOutput

The desired number of instances the group should have at any time.

func (*Beanstalk) ID

func (r *Beanstalk) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Beanstalk) InstanceTypesSpots

func (r *Beanstalk) InstanceTypesSpots() *pulumi.ArrayOutput

One or more instance types. To maximize the availability of Spot instances, select as many instance types as possible.

func (*Beanstalk) Maintenance

func (r *Beanstalk) Maintenance() *pulumi.StringOutput

func (*Beanstalk) MaxSize

func (r *Beanstalk) MaxSize() *pulumi.IntOutput

The maximum number of instances the group should have at any time.

func (*Beanstalk) MinSize

func (r *Beanstalk) MinSize() *pulumi.IntOutput

The minimum number of instances the group should have at any time.

func (*Beanstalk) Name

func (r *Beanstalk) Name() *pulumi.StringOutput

The group name.

func (*Beanstalk) Product

func (r *Beanstalk) Product() *pulumi.StringOutput

Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`.

func (*Beanstalk) Region

func (r *Beanstalk) Region() *pulumi.StringOutput

The AWS region your group will be created in. Cannot be changed after the group has been created.

func (*Beanstalk) URN

func (r *Beanstalk) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BeanstalkArgs

type BeanstalkArgs struct {
	// The name of an existing Beanstalk environment.
	BeanstalkEnvironmentName interface{}
	// The desired number of instances the group should have at any time.
	DesiredCapacity interface{}
	// One or more instance types. To maximize the availability of Spot instances, select as many instance types as possible.
	InstanceTypesSpots interface{}
	Maintenance        interface{}
	// The maximum number of instances the group should have at any time.
	MaxSize interface{}
	// The minimum number of instances the group should have at any time.
	MinSize interface{}
	// The group name.
	Name interface{}
	// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`.
	// For EC2 Classic instances:  `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`.
	Product interface{}
	// The AWS region your group will be created in. Cannot be changed after the group has been created.
	Region interface{}
}

The set of arguments for constructing a Beanstalk resource.

type BeanstalkState

type BeanstalkState struct {
	// The name of an existing Beanstalk environment.
	BeanstalkEnvironmentName interface{}
	// The desired number of instances the group should have at any time.
	DesiredCapacity interface{}
	// One or more instance types. To maximize the availability of Spot instances, select as many instance types as possible.
	InstanceTypesSpots interface{}
	Maintenance        interface{}
	// The maximum number of instances the group should have at any time.
	MaxSize interface{}
	// The minimum number of instances the group should have at any time.
	MinSize interface{}
	// The group name.
	Name interface{}
	// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`.
	// For EC2 Classic instances:  `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`.
	Product interface{}
	// The AWS region your group will be created in. Cannot be changed after the group has been created.
	Region interface{}
}

Input properties used for looking up and filtering Beanstalk resources.

type Elastigroup

type Elastigroup struct {
	// contains filtered or unexported fields
}

Provides a Spotinst AWS group resource.

func GetElastigroup

func GetElastigroup(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ElastigroupState, opts ...pulumi.ResourceOpt) (*Elastigroup, error)

GetElastigroup gets an existing Elastigroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewElastigroup

func NewElastigroup(ctx *pulumi.Context,
	name string, args *ElastigroupArgs, opts ...pulumi.ResourceOpt) (*Elastigroup, error)

NewElastigroup registers a new resource with the given unique name, arguments, and options.

func (*Elastigroup) AvailabilityZones

func (r *Elastigroup) AvailabilityZones() *pulumi.ArrayOutput

List of Strings of availability zones. Note: When this parameter is set, `subnet_ids` should be left unused.

func (*Elastigroup) BlockDevicesMode

func (r *Elastigroup) BlockDevicesMode() *pulumi.StringOutput

func (*Elastigroup) CapacityUnit

func (r *Elastigroup) CapacityUnit() *pulumi.StringOutput

The capacity unit to launch instances by. If not specified, when choosing the weight unit, each instance will weight as the number of its vCPUs.

func (*Elastigroup) CpuCredits

func (r *Elastigroup) CpuCredits() *pulumi.StringOutput

Controls how T3 instances are launched. Valid values: `standard`, `unlimited`.

func (*Elastigroup) Description

func (r *Elastigroup) Description() *pulumi.StringOutput

The group description.

func (*Elastigroup) DesiredCapacity

func (r *Elastigroup) DesiredCapacity() *pulumi.IntOutput

The desired number of instances the group should have at any time.

func (*Elastigroup) DrainingTimeout

func (r *Elastigroup) DrainingTimeout() *pulumi.IntOutput

The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.

func (*Elastigroup) EbsBlockDevices

func (r *Elastigroup) EbsBlockDevices() *pulumi.ArrayOutput

func (*Elastigroup) EbsOptimized

func (r *Elastigroup) EbsOptimized() *pulumi.BoolOutput

Enable high bandwidth connectivity between instances and AWS’s Elastic Block Store (EBS). For instance types that are EBS-optimized by default this parameter will be ignored.

func (*Elastigroup) ElasticIps

func (r *Elastigroup) ElasticIps() *pulumi.ArrayOutput

A list of [AWS Elastic IP](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) allocation IDs to associate to the group instances.

func (*Elastigroup) ElasticLoadBalancers

func (r *Elastigroup) ElasticLoadBalancers() *pulumi.ArrayOutput

func (*Elastigroup) EnableMonitoring

func (r *Elastigroup) EnableMonitoring() *pulumi.BoolOutput

Indicates whether monitoring is enabled for the instance.

func (*Elastigroup) EphemeralBlockDevices

func (r *Elastigroup) EphemeralBlockDevices() *pulumi.ArrayOutput

func (*Elastigroup) FallbackToOndemand

func (r *Elastigroup) FallbackToOndemand() *pulumi.BoolOutput

In a case of no Spot instances available, Elastigroup will launch on-demand instances instead.

func (*Elastigroup) HealthCheckGracePeriod

func (r *Elastigroup) HealthCheckGracePeriod() *pulumi.IntOutput

The amount of time, in seconds, after the instance has launched to starts and check its health.

func (*Elastigroup) HealthCheckType

func (r *Elastigroup) HealthCheckType() *pulumi.StringOutput

The service that will perform health checks for the instance. Valid values: `"ELB"`, `"HCS"`, `"TARGET_GROUP"`, `"MLB"`, `"EC2"`, `"MULTAI_TARGET_SET"`, `"MLB_RUNTIME"`, `"K8S_NODE"`, `"NOMAD_NODE"`, `"ECS_CLUSTER_INSTANCE"`.

func (*Elastigroup) HealthCheckUnhealthyDurationBeforeReplacement

func (r *Elastigroup) HealthCheckUnhealthyDurationBeforeReplacement() *pulumi.IntOutput

The amount of time, in seconds, that we will wait before replacing an instance that is running and became unhealthy (this is only applicable for instances that were once healthy).

func (*Elastigroup) ID

func (r *Elastigroup) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Elastigroup) IamInstanceProfile

func (r *Elastigroup) IamInstanceProfile() *pulumi.StringOutput

The ARN or name of an IAM instance profile to associate with launched instances.

func (*Elastigroup) ImageId

func (r *Elastigroup) ImageId() *pulumi.StringOutput

The ID of the AMI used to launch the instance.

func (*Elastigroup) InstanceTypesOndemand

func (r *Elastigroup) InstanceTypesOndemand() *pulumi.StringOutput

The type of instance determines your instance's CPU capacity, memory and storage (e.g., m1.small, c1.xlarge).

func (*Elastigroup) InstanceTypesPreferredSpots

func (r *Elastigroup) InstanceTypesPreferredSpots() *pulumi.ArrayOutput

Prioritize a subset of spot instance types. Must be a subset of the selected spot instance types.

func (*Elastigroup) InstanceTypesSpots

func (r *Elastigroup) InstanceTypesSpots() *pulumi.ArrayOutput

One or more instance types.

func (*Elastigroup) InstanceTypesWeights

func (r *Elastigroup) InstanceTypesWeights() *pulumi.ArrayOutput

List of weights per instance type for weighted groups. Each object in the list should have the following attributes:

func (*Elastigroup) IntegrationCodedeploy

func (r *Elastigroup) IntegrationCodedeploy() *pulumi.Output

func (*Elastigroup) IntegrationDockerSwarm

func (r *Elastigroup) IntegrationDockerSwarm() *pulumi.Output

func (*Elastigroup) IntegrationEcs

func (r *Elastigroup) IntegrationEcs() *pulumi.Output

func (*Elastigroup) IntegrationGitlab

func (r *Elastigroup) IntegrationGitlab() *pulumi.Output

func (*Elastigroup) IntegrationKubernetes

func (r *Elastigroup) IntegrationKubernetes() *pulumi.Output

func (*Elastigroup) IntegrationMesosphere

func (r *Elastigroup) IntegrationMesosphere() *pulumi.Output

func (*Elastigroup) IntegrationMultaiRuntime

func (r *Elastigroup) IntegrationMultaiRuntime() *pulumi.Output

func (*Elastigroup) IntegrationNomad

func (r *Elastigroup) IntegrationNomad() *pulumi.Output

func (*Elastigroup) IntegrationRancher

func (r *Elastigroup) IntegrationRancher() *pulumi.Output

func (*Elastigroup) IntegrationRoute53

func (r *Elastigroup) IntegrationRoute53() *pulumi.Output

func (*Elastigroup) KeyName

func (r *Elastigroup) KeyName() *pulumi.StringOutput

The key name that should be used for the instance.

func (*Elastigroup) LifetimePeriod

func (r *Elastigroup) LifetimePeriod() *pulumi.StringOutput

func (*Elastigroup) MaxSize

func (r *Elastigroup) MaxSize() *pulumi.IntOutput

The maximum number of instances the group should have at any time.

func (*Elastigroup) MinSize

func (r *Elastigroup) MinSize() *pulumi.IntOutput

The minimum number of instances the group should have at any time.

func (*Elastigroup) MultaiTargetSets

func (r *Elastigroup) MultaiTargetSets() *pulumi.ArrayOutput

func (*Elastigroup) Name

func (r *Elastigroup) Name() *pulumi.StringOutput

The group name.

func (*Elastigroup) NetworkInterfaces

func (r *Elastigroup) NetworkInterfaces() *pulumi.ArrayOutput

func (*Elastigroup) OndemandCount

func (r *Elastigroup) OndemandCount() *pulumi.IntOutput

Number of on demand instances to launch in the group. All other instances will be spot instances. When this parameter is set the `spot_percentage` parameter is being ignored.

func (*Elastigroup) Orientation

func (r *Elastigroup) Orientation() *pulumi.StringOutput

Select a prediction strategy. Valid values: `"balanced"`, `"costOriented"`, `"equalAzDistribution"`, `"availabilityOriented"`.

func (*Elastigroup) PersistBlockDevices

func (r *Elastigroup) PersistBlockDevices() *pulumi.BoolOutput

func (*Elastigroup) PersistPrivateIp

func (r *Elastigroup) PersistPrivateIp() *pulumi.BoolOutput

func (*Elastigroup) PersistRootDevice

func (r *Elastigroup) PersistRootDevice() *pulumi.BoolOutput

func (*Elastigroup) PlacementTenancy

func (r *Elastigroup) PlacementTenancy() *pulumi.StringOutput

Enable dedicated tenancy. Note: There is a flat hourly fee for each region in which dedicated tenancy is used.

func (*Elastigroup) PreferredAvailabilityZones

func (r *Elastigroup) PreferredAvailabilityZones() *pulumi.ArrayOutput

The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs. Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`.

func (*Elastigroup) PrivateIps

func (r *Elastigroup) PrivateIps() *pulumi.ArrayOutput

func (*Elastigroup) Product

func (r *Elastigroup) Product() *pulumi.StringOutput

Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`. For EC2 Classic instances: `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`.

func (*Elastigroup) Region

func (r *Elastigroup) Region() *pulumi.StringOutput

The AWS region your group will be created in. Note: This parameter is required if you specify subnets (through subnet_ids). This parameter is optional if you specify Availability Zones (through availability_zones).

func (*Elastigroup) RevertToSpot

func (r *Elastigroup) RevertToSpot() *pulumi.Output

Hold settings for strategy correction – replacing On-Demand for Spot instances. Supported Values: `"never"`, `"always"`, `"timeWindow"`

func (*Elastigroup) ScalingDownPolicies

func (r *Elastigroup) ScalingDownPolicies() *pulumi.ArrayOutput

func (*Elastigroup) ScalingTargetPolicies

func (r *Elastigroup) ScalingTargetPolicies() *pulumi.ArrayOutput

func (*Elastigroup) ScalingUpPolicies

func (r *Elastigroup) ScalingUpPolicies() *pulumi.ArrayOutput

func (*Elastigroup) ScheduledTasks

func (r *Elastigroup) ScheduledTasks() *pulumi.ArrayOutput

func (*Elastigroup) SecurityGroups

func (r *Elastigroup) SecurityGroups() *pulumi.ArrayOutput

A list of associated security group IDS.

func (*Elastigroup) ShutdownScript

func (r *Elastigroup) ShutdownScript() *pulumi.StringOutput

The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: [Shutdown Script](https://api.spotinst.com/integration-docs/elastigroup/concepts/compute-concepts/shutdown-scripts/)

func (*Elastigroup) Signals

func (r *Elastigroup) Signals() *pulumi.ArrayOutput

func (*Elastigroup) SpotPercentage

func (r *Elastigroup) SpotPercentage() *pulumi.Float64Output

The percentage of Spot instances that would spin up from the `desired_capacity` number.

func (*Elastigroup) StatefulDeallocation

func (r *Elastigroup) StatefulDeallocation() *pulumi.Output

func (*Elastigroup) SubnetIds

func (r *Elastigroup) SubnetIds() *pulumi.ArrayOutput

List of Strings of subnet identifiers. Note: When this parameter is set, `availability_zones` should be left unused.

func (*Elastigroup) Tags

func (r *Elastigroup) Tags() *pulumi.ArrayOutput

A key/value mapping of tags to assign to the resource.

func (*Elastigroup) TargetGroupArns

func (r *Elastigroup) TargetGroupArns() *pulumi.ArrayOutput

func (*Elastigroup) URN

func (r *Elastigroup) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Elastigroup) UpdatePolicy

func (r *Elastigroup) UpdatePolicy() *pulumi.Output

func (*Elastigroup) UserData

func (r *Elastigroup) UserData() *pulumi.StringOutput

The user data to provide when launching the instance.

func (*Elastigroup) UtilizeReservedInstances

func (r *Elastigroup) UtilizeReservedInstances() *pulumi.BoolOutput

In a case of any available reserved instances, Elastigroup will utilize them first before purchasing Spot instances.

func (*Elastigroup) WaitForCapacity

func (r *Elastigroup) WaitForCapacity() *pulumi.IntOutput

Minimum number of instances in a 'HEALTHY' status that is required before continuing. This is ignored when updating with blue/green deployment. Cannot exceed `desired_capacity`.

func (*Elastigroup) WaitForCapacityTimeout

func (r *Elastigroup) WaitForCapacityTimeout() *pulumi.IntOutput

Time (seconds) to wait for instances to report a 'HEALTHY' status. Useful for plans with multiple dependencies that take some time to initialize. Leave undefined or set to `0` to indicate no wait. This is ignored when updating with blue/green deployment.

type ElastigroupArgs

type ElastigroupArgs struct {
	// List of Strings of availability zones.
	// Note: When this parameter is set, `subnet_ids` should be left unused.
	AvailabilityZones interface{}
	BlockDevicesMode  interface{}
	// The capacity unit to launch instances by. If not specified, when choosing the weight unit, each instance will weight as the number of its vCPUs.
	CapacityUnit interface{}
	// Controls how T3 instances are launched. Valid values: `standard`, `unlimited`.
	CpuCredits interface{}
	// The group description.
	Description interface{}
	// The desired number of instances the group should have at any time.
	DesiredCapacity interface{}
	// The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
	DrainingTimeout interface{}
	EbsBlockDevices interface{}
	// Enable high bandwidth connectivity between instances and AWS’s Elastic Block Store (EBS). For instance types that are EBS-optimized by default this parameter will be ignored.
	EbsOptimized interface{}
	// A list of [AWS Elastic IP](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) allocation IDs to associate to the group instances.
	ElasticIps           interface{}
	ElasticLoadBalancers interface{}
	// Indicates whether monitoring is enabled for the instance.
	EnableMonitoring      interface{}
	EphemeralBlockDevices interface{}
	// In a case of no Spot instances available, Elastigroup will launch on-demand instances instead.
	FallbackToOndemand interface{}
	// The amount of time, in seconds, after the instance has launched to starts and check its health.
	HealthCheckGracePeriod interface{}
	// The service that will perform health checks for the instance. Valid values: `"ELB"`, `"HCS"`, `"TARGET_GROUP"`, `"MLB"`, `"EC2"`, `"MULTAI_TARGET_SET"`, `"MLB_RUNTIME"`, `"K8S_NODE"`, `"NOMAD_NODE"`, `"ECS_CLUSTER_INSTANCE"`.
	HealthCheckType interface{}
	// The amount of time, in seconds, that we will wait before replacing an instance that is running and became unhealthy (this is only applicable for instances that were once healthy).
	HealthCheckUnhealthyDurationBeforeReplacement interface{}
	// The ARN or name of an IAM instance profile to associate with launched instances.
	IamInstanceProfile interface{}
	// The ID of the AMI used to launch the instance.
	ImageId interface{}
	// The type of instance determines your instance's CPU capacity, memory and storage (e.g., m1.small, c1.xlarge).
	InstanceTypesOndemand interface{}
	// Prioritize a subset of spot instance types. Must be a subset of the selected spot instance types.
	InstanceTypesPreferredSpots interface{}
	// One or more instance types.
	InstanceTypesSpots interface{}
	// List of weights per instance type for weighted groups. Each object in the list should have the following attributes:
	InstanceTypesWeights     interface{}
	IntegrationCodedeploy    interface{}
	IntegrationDockerSwarm   interface{}
	IntegrationEcs           interface{}
	IntegrationGitlab        interface{}
	IntegrationKubernetes    interface{}
	IntegrationMesosphere    interface{}
	IntegrationMultaiRuntime interface{}
	IntegrationNomad         interface{}
	IntegrationRancher       interface{}
	IntegrationRoute53       interface{}
	// The key name that should be used for the instance.
	KeyName        interface{}
	LifetimePeriod interface{}
	// The maximum number of instances the group should have at any time.
	MaxSize interface{}
	// The minimum number of instances the group should have at any time.
	MinSize          interface{}
	MultaiTargetSets interface{}
	// The group name.
	Name              interface{}
	NetworkInterfaces interface{}
	// Number of on demand instances to launch in the group. All other instances will be spot instances. When this parameter is set the `spot_percentage` parameter is being ignored.
	OndemandCount interface{}
	// Select a prediction strategy. Valid values: `"balanced"`, `"costOriented"`, `"equalAzDistribution"`, `"availabilityOriented"`.
	Orientation         interface{}
	PersistBlockDevices interface{}
	PersistPrivateIp    interface{}
	PersistRootDevice   interface{}
	// Enable dedicated tenancy. Note: There is a flat hourly fee for each region in which dedicated tenancy is used.
	PlacementTenancy interface{}
	// The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs.
	// Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`.
	PreferredAvailabilityZones interface{}
	PrivateIps                 interface{}
	// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`.
	// For EC2 Classic instances:  `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`.
	Product interface{}
	// The AWS region your group will be created in.
	// Note: This parameter is required if you specify subnets (through subnet_ids). This parameter is optional if you specify Availability Zones (through availability_zones).
	Region interface{}
	// Hold settings for strategy correction – replacing On-Demand for Spot instances. Supported Values: `"never"`, `"always"`, `"timeWindow"`
	RevertToSpot          interface{}
	ScalingDownPolicies   interface{}
	ScalingTargetPolicies interface{}
	ScalingUpPolicies     interface{}
	ScheduledTasks        interface{}
	// A list of associated security group IDS.
	SecurityGroups interface{}
	// The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: [Shutdown Script](https://api.spotinst.com/integration-docs/elastigroup/concepts/compute-concepts/shutdown-scripts/)
	ShutdownScript interface{}
	Signals        interface{}
	// The percentage of Spot instances that would spin up from the `desired_capacity` number.
	SpotPercentage       interface{}
	StatefulDeallocation interface{}
	// List of Strings of subnet identifiers.
	// Note: When this parameter is set, `availability_zones` should be left unused.
	SubnetIds interface{}
	// A key/value mapping of tags to assign to the resource.
	Tags            interface{}
	TargetGroupArns interface{}
	UpdatePolicy    interface{}
	// The user data to provide when launching the instance.
	UserData interface{}
	// In a case of any available reserved instances, Elastigroup will utilize them first before purchasing Spot instances.
	UtilizeReservedInstances interface{}
	// Minimum number of instances in a 'HEALTHY' status that is required before continuing. This is ignored when updating with blue/green deployment. Cannot exceed `desired_capacity`.
	WaitForCapacity interface{}
	// Time (seconds) to wait for instances to report a 'HEALTHY' status. Useful for plans with multiple dependencies that take some time to initialize. Leave undefined or set to `0` to indicate no wait. This is ignored when updating with blue/green deployment.
	WaitForCapacityTimeout interface{}
}

The set of arguments for constructing a Elastigroup resource.

type ElastigroupState

type ElastigroupState struct {
	// List of Strings of availability zones.
	// Note: When this parameter is set, `subnet_ids` should be left unused.
	AvailabilityZones interface{}
	BlockDevicesMode  interface{}
	// The capacity unit to launch instances by. If not specified, when choosing the weight unit, each instance will weight as the number of its vCPUs.
	CapacityUnit interface{}
	// Controls how T3 instances are launched. Valid values: `standard`, `unlimited`.
	CpuCredits interface{}
	// The group description.
	Description interface{}
	// The desired number of instances the group should have at any time.
	DesiredCapacity interface{}
	// The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
	DrainingTimeout interface{}
	EbsBlockDevices interface{}
	// Enable high bandwidth connectivity between instances and AWS’s Elastic Block Store (EBS). For instance types that are EBS-optimized by default this parameter will be ignored.
	EbsOptimized interface{}
	// A list of [AWS Elastic IP](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) allocation IDs to associate to the group instances.
	ElasticIps           interface{}
	ElasticLoadBalancers interface{}
	// Indicates whether monitoring is enabled for the instance.
	EnableMonitoring      interface{}
	EphemeralBlockDevices interface{}
	// In a case of no Spot instances available, Elastigroup will launch on-demand instances instead.
	FallbackToOndemand interface{}
	// The amount of time, in seconds, after the instance has launched to starts and check its health.
	HealthCheckGracePeriod interface{}
	// The service that will perform health checks for the instance. Valid values: `"ELB"`, `"HCS"`, `"TARGET_GROUP"`, `"MLB"`, `"EC2"`, `"MULTAI_TARGET_SET"`, `"MLB_RUNTIME"`, `"K8S_NODE"`, `"NOMAD_NODE"`, `"ECS_CLUSTER_INSTANCE"`.
	HealthCheckType interface{}
	// The amount of time, in seconds, that we will wait before replacing an instance that is running and became unhealthy (this is only applicable for instances that were once healthy).
	HealthCheckUnhealthyDurationBeforeReplacement interface{}
	// The ARN or name of an IAM instance profile to associate with launched instances.
	IamInstanceProfile interface{}
	// The ID of the AMI used to launch the instance.
	ImageId interface{}
	// The type of instance determines your instance's CPU capacity, memory and storage (e.g., m1.small, c1.xlarge).
	InstanceTypesOndemand interface{}
	// Prioritize a subset of spot instance types. Must be a subset of the selected spot instance types.
	InstanceTypesPreferredSpots interface{}
	// One or more instance types.
	InstanceTypesSpots interface{}
	// List of weights per instance type for weighted groups. Each object in the list should have the following attributes:
	InstanceTypesWeights     interface{}
	IntegrationCodedeploy    interface{}
	IntegrationDockerSwarm   interface{}
	IntegrationEcs           interface{}
	IntegrationGitlab        interface{}
	IntegrationKubernetes    interface{}
	IntegrationMesosphere    interface{}
	IntegrationMultaiRuntime interface{}
	IntegrationNomad         interface{}
	IntegrationRancher       interface{}
	IntegrationRoute53       interface{}
	// The key name that should be used for the instance.
	KeyName        interface{}
	LifetimePeriod interface{}
	// The maximum number of instances the group should have at any time.
	MaxSize interface{}
	// The minimum number of instances the group should have at any time.
	MinSize          interface{}
	MultaiTargetSets interface{}
	// The group name.
	Name              interface{}
	NetworkInterfaces interface{}
	// Number of on demand instances to launch in the group. All other instances will be spot instances. When this parameter is set the `spot_percentage` parameter is being ignored.
	OndemandCount interface{}
	// Select a prediction strategy. Valid values: `"balanced"`, `"costOriented"`, `"equalAzDistribution"`, `"availabilityOriented"`.
	Orientation         interface{}
	PersistBlockDevices interface{}
	PersistPrivateIp    interface{}
	PersistRootDevice   interface{}
	// Enable dedicated tenancy. Note: There is a flat hourly fee for each region in which dedicated tenancy is used.
	PlacementTenancy interface{}
	// The AZs to prioritize when launching Spot instances. If no markets are available in the Preferred AZs, Spot instances are launched in the non-preferred AZs.
	// Note: Must be a sublist of `availability_zones` and `orientation` value must not be `"equalAzDistribution"`.
	PreferredAvailabilityZones interface{}
	PrivateIps                 interface{}
	// Operation system type. Valid values: `"Linux/UNIX"`, `"SUSE Linux"`, `"Windows"`.
	// For EC2 Classic instances:  `"Linux/UNIX (Amazon VPC)"`, `"SUSE Linux (Amazon VPC)"`, `"Windows (Amazon VPC)"`.
	Product interface{}
	// The AWS region your group will be created in.
	// Note: This parameter is required if you specify subnets (through subnet_ids). This parameter is optional if you specify Availability Zones (through availability_zones).
	Region interface{}
	// Hold settings for strategy correction – replacing On-Demand for Spot instances. Supported Values: `"never"`, `"always"`, `"timeWindow"`
	RevertToSpot          interface{}
	ScalingDownPolicies   interface{}
	ScalingTargetPolicies interface{}
	ScalingUpPolicies     interface{}
	ScheduledTasks        interface{}
	// A list of associated security group IDS.
	SecurityGroups interface{}
	// The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: [Shutdown Script](https://api.spotinst.com/integration-docs/elastigroup/concepts/compute-concepts/shutdown-scripts/)
	ShutdownScript interface{}
	Signals        interface{}
	// The percentage of Spot instances that would spin up from the `desired_capacity` number.
	SpotPercentage       interface{}
	StatefulDeallocation interface{}
	// List of Strings of subnet identifiers.
	// Note: When this parameter is set, `availability_zones` should be left unused.
	SubnetIds interface{}
	// A key/value mapping of tags to assign to the resource.
	Tags            interface{}
	TargetGroupArns interface{}
	UpdatePolicy    interface{}
	// The user data to provide when launching the instance.
	UserData interface{}
	// In a case of any available reserved instances, Elastigroup will utilize them first before purchasing Spot instances.
	UtilizeReservedInstances interface{}
	// Minimum number of instances in a 'HEALTHY' status that is required before continuing. This is ignored when updating with blue/green deployment. Cannot exceed `desired_capacity`.
	WaitForCapacity interface{}
	// Time (seconds) to wait for instances to report a 'HEALTHY' status. Useful for plans with multiple dependencies that take some time to initialize. Leave undefined or set to `0` to indicate no wait. This is ignored when updating with blue/green deployment.
	WaitForCapacityTimeout interface{}
}

Input properties used for looking up and filtering Elastigroup resources.

type MrScalar

type MrScalar struct {
	// contains filtered or unexported fields
}

Provides a Spotinst AWS MrScaler resource.

## Provisioning Timeout (Clone, New strategies)

* `timeout` - (Optional) The amount of time (minutes) after which the cluster is automatically terminated if it's still in provisioning status. Minimum: '15'. * `timeout_action` - (Optional) The action to take if the timeout is exceeded. Valid values: `terminate`, `terminateAndRetry`.

<a id="cluster-config"></a> ## Cluster Configuration (New strategy only)

* `log_uri` - (Optional) The path to the Amazon S3 location where logs for this cluster are stored. * `additional_info` - (Optional) This is meta information about third-party applications that third-party vendors use for testing purposes. * `security_config` - (Optional) The name of the security configuration applied to the cluster. * `service_role` - (Optional) The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf. * `job_flow_role` - (Optional) The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role. * `visible_to_all_users` - (Optional) Specifies whether the cluster is visible to all IAM users of the AWS account associated with the cluster. * `termination_protected` - (Optional) Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error. * `keep_job_flow_alive` - (Optional) Specifies whether the cluster should remain available after completing all steps.

<a id="task-group"></a> ## Task Group (Wrap, Clone, and New strategies)

* `task_instance_types` - (Required) The MrScaler instance types for the task nodes. * `task_target` - (Required) amount of instances in task group. * `task_maximum` - (Optional) maximal amount of instances in task group. * `task_minimum` - (Optional) The minimal amount of instances in task group. * `task_lifecycle` - (Required) The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'. * `task_ebs_optimized` - (Optional) EBS Optimization setting for instances in group. * `task_ebs_block_device` - (Required) This determines the ebs configuration for your task group instances. Only a single block is allowed.

  • `volumes_per_instance` - (Optional; Default 1) Amount of volumes per instance in the task group.
  • `volume_type` - (Required) volume type. Allowed values are 'gp2', 'io1' and others.
  • `size_in_gb` - (Required) Size of the volume, in GBs.
  • `iops` - (Optional) IOPS for the volume. Required in some volume types, such as io1.

<a id="core-group"></a> ## Core Group (Clone, New strategies)

* `core_instance_types` - (Required) The MrScaler instance types for the core nodes. * `core_target` - (Required) amount of instances in core group. * `core_maximum` - (Optional) maximal amount of instances in core group. * `core_minimum` - (Optional) The minimal amount of instances in core group. * `core_lifecycle` - (Required) The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'. * `core_ebs_optimized` - (Optional) EBS Optimization setting for instances in group. * `core_ebs_block_device` - (Required) This determines the ebs configuration for your core group instances. Only a single block is allowed.

  • `volumes_per_instance` - (Optional; Default 1) Amount of volumes per instance in the core group.
  • `volume_type` - (Required) volume type. Allowed values are 'gp2', 'io1' and others.
  • `size_in_gb` - (Required) Size of the volume, in GBs.
  • `iops` - (Optional) IOPS for the volume. Required in some volume types, such as io1.

<a id="master-group"></a> ## Master Group (Clone, New strategies)

* `master_instance_types` - (Required) The MrScaler instance types for the master nodes. * `master_lifecycle` - (Required) The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'. * `master_ebs_optimized` - (Optional) EBS Optimization setting for instances in group. * `master_ebs_block_device` - (Required) This determines the ebs configuration for your master group instances. Only a single block is allowed.

  • `volumes_per_instance` - (Optional; Default 1) Amount of volumes per instance in the master group.
  • `volume_type` - (Required) volume type. Allowed values are 'gp2', 'io1' and others.
  • `size_in_gb` - (Required) Size of the volume, in GBs.
  • `iops` - (Optional) IOPS for the volume. Required in some volume types, such as io1.

<a id="tags"></a> ## Tags (Clone, New strategies)

* `tags` - (Optional) A list of tags to assign to the resource. You may define multiple tags.

  • `key` - (Required) Tag key.
  • `value` - (Required) Tag value.

<a id="Optional Compute Parameters"></a> ## Optional Compute Parameters (New strategy)

* `managed_primary_security_group` - (Optional) EMR Managed Security group that will be set to the primary instance group. * `managed_replica_security_group` - (Optional) EMR Managed Security group that will be set to the replica instance group. * `service_access_security_group` - (Optional) The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets. * `additional_primary_security_groups` - (Optional) A list of additional Amazon EC2 security group IDs for the master node. * `additional_replica_security_groups` - (Optional) A list of additional Amazon EC2 security group IDs for the core and task nodes. * `custom_ami_id` - (Optional) The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI. * `repo_upgrade_on_boot` - (Optional) Applies only when `custom_ami_id` is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: `SECURITY`, `NONE`. * `ec2_key_name` - (Optional) The name of an Amazon EC2 key pair that can be used to ssh to the master node. * `applications` - (Optional) A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster

  • `args` - (Optional) Arguments for EMR to pass to the application.
  • `name` - (Required) The application name.
  • `version`- (Optional)T he version of the application.

<a id="availability-zone"></a> ## Availability Zones (Clone, New strategies)

* `availability_zones` - (Required in Clone) List of AZs and their subnet Ids. See example above for usage.

<a id="configurations"></a> ## Configurations (Clone, New strategies)

* `configurations_file` - (Optional) Describes path to S3 file containing description of configurations. [More Information](https://api.spotinst.com/elastigroup-for-aws/services-integrations/elastic-mapreduce/import-an-emr-cluster/advanced/)

  • `bucket` - (Required) S3 Bucket name for configurations.
  • `key`- (Required) S3 key for configurations.

<a id="steps"></a> ## Steps (Clone, New strategies)

* `steps_file` - (Optional) Steps from S3.

  • `bucket` - (Required) S3 Bucket name for steps.
  • `key`- (Required) S3 key for steps.

<a id="boostrap-actions"></a> ## Bootstrap Actions (Clone, New strategies)

* `bootstrap_actions_file` - (Optional) Describes path to S3 file containing description of bootstrap actions. [More Information](https://api.spotinst.com/elastigroup-for-aws/services-integrations/elastic-mapreduce/import-an-emr-cluster/advanced/)

  • `bucket` - (Required) S3 Bucket name for bootstrap actions.
  • `key`- (Required) S3 key for bootstrap actions.

<a id="scaling-policy"></a> ## Scaling Policies

Possible task group scaling policies (Wrap, Clone, and New strategies): * `task_scaling_up_policy` * `task_scaling_down_policy`

Possible core group scaling policies (Clone, New strategies): * `core_scaling_up_policy` * `core_scaling_down_policy`

Each `*_scaling_*_policy` supports the following:

* `policy_name` - (Required) The name of the policy. * `metric_name` - (Required) The name of the metric, with or without spaces. * `statistic` - (Required) The metric statistics to return. For information about specific statistics go to [Statistics](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/index.html?CHAP_TerminologyandKeyConcepts.html#Statistic) in the Amazon CloudWatch Developer Guide. * `unit` - (Required) The unit for the metric. * `threshold` - (Required) The value against which the specified statistic is compared. * `adjustment` - (Optional) The number of instances to add/remove to/from the target capacity when scale is needed. * `min_target_capacity` - (Optional) Min target capacity for scale up. * `max_target_capacity` - (Optional) Max target capacity for scale down. * `namespace` - (Required) The namespace for the metric. * `operator` - (Required) The operator to use. Allowed values are : 'gt', 'gte', 'lt' , 'lte'. * `evaluation_periods` - (Required) The number of periods over which data is compared to the specified threshold. * `period` - (Required) The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60. * `cooldown` - (Required) The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. * `dimensions` - (Optional) A mapping of dimensions describing qualities of the metric. * `minimum` - (Optional) The minimum to set when scale is needed. * `maximum` - (Optional) The maximum to set when scale is needed. * `target` - (Optional) The number of instances to set when scale is needed. * `action_type` - (Required) The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'

<a id="scheduled-task"></a> ## Scheduled Tasks

* `scheduled_task` - (Optional) An array of scheduled tasks. * `is_enabled` - (Optional) Enable/Disable the specified scheduling task. * `task_type` - (Required) The type of task to be scheduled. Valid values: `setCapacity`. * `instance_group_type` - (Required) Select the EMR instance groups to execute the scheduled task on. Valid values: `task`. * `cron` - (Required) A cron expression representing the schedule for the task. * `desired_capacity` - (Optional) New desired capacity for the elastigroup. * `min_capacity` - (Optional) New min capacity for the elastigroup. * `max_capacity` - (Optional) New max capacity for the elastigroup.

func GetMrScalar

func GetMrScalar(ctx *pulumi.Context,
	name string, id pulumi.ID, state *MrScalarState, opts ...pulumi.ResourceOpt) (*MrScalar, error)

GetMrScalar gets an existing MrScalar resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMrScalar

func NewMrScalar(ctx *pulumi.Context,
	name string, args *MrScalarArgs, opts ...pulumi.ResourceOpt) (*MrScalar, error)

NewMrScalar registers a new resource with the given unique name, arguments, and options.

func (*MrScalar) AdditionalInfo

func (r *MrScalar) AdditionalInfo() *pulumi.StringOutput

func (*MrScalar) AdditionalPrimarySecurityGroups

func (r *MrScalar) AdditionalPrimarySecurityGroups() *pulumi.ArrayOutput

func (*MrScalar) AdditionalReplicaSecurityGroups

func (r *MrScalar) AdditionalReplicaSecurityGroups() *pulumi.ArrayOutput

func (*MrScalar) Applications

func (r *MrScalar) Applications() *pulumi.ArrayOutput

func (*MrScalar) AvailabilityZones

func (r *MrScalar) AvailabilityZones() *pulumi.ArrayOutput

func (*MrScalar) BootstrapActionsFiles

func (r *MrScalar) BootstrapActionsFiles() *pulumi.ArrayOutput

func (*MrScalar) ClusterId

func (r *MrScalar) ClusterId() *pulumi.StringOutput

The MrScaler cluster id.

func (*MrScalar) ConfigurationsFiles

func (r *MrScalar) ConfigurationsFiles() *pulumi.ArrayOutput

func (*MrScalar) CoreDesiredCapacity

func (r *MrScalar) CoreDesiredCapacity() *pulumi.IntOutput

func (*MrScalar) CoreEbsBlockDevices

func (r *MrScalar) CoreEbsBlockDevices() *pulumi.ArrayOutput

func (*MrScalar) CoreEbsOptimized

func (r *MrScalar) CoreEbsOptimized() *pulumi.BoolOutput

func (*MrScalar) CoreInstanceTypes

func (r *MrScalar) CoreInstanceTypes() *pulumi.ArrayOutput

func (*MrScalar) CoreLifecycle

func (r *MrScalar) CoreLifecycle() *pulumi.StringOutput

func (*MrScalar) CoreMaxSize

func (r *MrScalar) CoreMaxSize() *pulumi.IntOutput

func (*MrScalar) CoreMinSize

func (r *MrScalar) CoreMinSize() *pulumi.IntOutput

func (*MrScalar) CoreScalingDownPolicies

func (r *MrScalar) CoreScalingDownPolicies() *pulumi.ArrayOutput

func (*MrScalar) CoreScalingUpPolicies

func (r *MrScalar) CoreScalingUpPolicies() *pulumi.ArrayOutput

func (*MrScalar) CustomAmiId

func (r *MrScalar) CustomAmiId() *pulumi.StringOutput

func (*MrScalar) Description

func (r *MrScalar) Description() *pulumi.StringOutput

The MrScaler description.

func (*MrScalar) EbsRootVolumeSize

func (r *MrScalar) EbsRootVolumeSize() *pulumi.IntOutput

func (*MrScalar) Ec2KeyName

func (r *MrScalar) Ec2KeyName() *pulumi.StringOutput

func (*MrScalar) ExposeClusterId

func (r *MrScalar) ExposeClusterId() *pulumi.BoolOutput

Allow the `cluster_id` to set a Terraform output variable.

func (*MrScalar) ID

func (r *MrScalar) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*MrScalar) JobFlowRole

func (r *MrScalar) JobFlowRole() *pulumi.StringOutput

func (*MrScalar) KeepJobFlowAlive

func (r *MrScalar) KeepJobFlowAlive() *pulumi.BoolOutput

func (*MrScalar) LogUri

func (r *MrScalar) LogUri() *pulumi.StringOutput

func (*MrScalar) ManagedPrimarySecurityGroup

func (r *MrScalar) ManagedPrimarySecurityGroup() *pulumi.StringOutput

func (*MrScalar) ManagedReplicaSecurityGroup

func (r *MrScalar) ManagedReplicaSecurityGroup() *pulumi.StringOutput

func (*MrScalar) MasterEbsBlockDevices

func (r *MrScalar) MasterEbsBlockDevices() *pulumi.ArrayOutput

func (*MrScalar) MasterEbsOptimized

func (r *MrScalar) MasterEbsOptimized() *pulumi.BoolOutput

func (*MrScalar) MasterInstanceTypes

func (r *MrScalar) MasterInstanceTypes() *pulumi.ArrayOutput

func (*MrScalar) MasterLifecycle

func (r *MrScalar) MasterLifecycle() *pulumi.StringOutput

func (*MrScalar) Name

func (r *MrScalar) Name() *pulumi.StringOutput

The MrScaler name.

func (*MrScalar) OutputClusterId

func (r *MrScalar) OutputClusterId() *pulumi.StringOutput

func (*MrScalar) ProvisioningTimeout

func (r *MrScalar) ProvisioningTimeout() *pulumi.Output

func (*MrScalar) Region

func (r *MrScalar) Region() *pulumi.StringOutput

The MrScaler region.

func (*MrScalar) ReleaseLabel

func (r *MrScalar) ReleaseLabel() *pulumi.StringOutput

func (*MrScalar) RepoUpgradeOnBoot

func (r *MrScalar) RepoUpgradeOnBoot() *pulumi.StringOutput

func (*MrScalar) Retries

func (r *MrScalar) Retries() *pulumi.IntOutput

func (*MrScalar) ScheduledTasks

func (r *MrScalar) ScheduledTasks() *pulumi.ArrayOutput

func (*MrScalar) SecurityConfig

func (r *MrScalar) SecurityConfig() *pulumi.StringOutput

func (*MrScalar) ServiceAccessSecurityGroup

func (r *MrScalar) ServiceAccessSecurityGroup() *pulumi.StringOutput

func (*MrScalar) ServiceRole

func (r *MrScalar) ServiceRole() *pulumi.StringOutput

func (*MrScalar) StepsFiles

func (r *MrScalar) StepsFiles() *pulumi.ArrayOutput

func (*MrScalar) Strategy

func (r *MrScalar) Strategy() *pulumi.StringOutput

The MrScaler strategy. Allowed values are `new` `clone` and `wrap`.

func (*MrScalar) Tags

func (r *MrScalar) Tags() *pulumi.ArrayOutput

func (*MrScalar) TaskDesiredCapacity

func (r *MrScalar) TaskDesiredCapacity() *pulumi.IntOutput

func (*MrScalar) TaskEbsBlockDevices

func (r *MrScalar) TaskEbsBlockDevices() *pulumi.ArrayOutput

func (*MrScalar) TaskEbsOptimized

func (r *MrScalar) TaskEbsOptimized() *pulumi.BoolOutput

func (*MrScalar) TaskInstanceTypes

func (r *MrScalar) TaskInstanceTypes() *pulumi.ArrayOutput

func (*MrScalar) TaskLifecycle

func (r *MrScalar) TaskLifecycle() *pulumi.StringOutput

func (*MrScalar) TaskMaxSize

func (r *MrScalar) TaskMaxSize() *pulumi.IntOutput

func (*MrScalar) TaskMinSize

func (r *MrScalar) TaskMinSize() *pulumi.IntOutput

func (*MrScalar) TaskScalingDownPolicies

func (r *MrScalar) TaskScalingDownPolicies() *pulumi.ArrayOutput

func (*MrScalar) TaskScalingUpPolicies

func (r *MrScalar) TaskScalingUpPolicies() *pulumi.ArrayOutput

func (*MrScalar) TerminationProtected

func (r *MrScalar) TerminationProtected() *pulumi.BoolOutput

func (*MrScalar) URN

func (r *MrScalar) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*MrScalar) VisibleToAllUsers

func (r *MrScalar) VisibleToAllUsers() *pulumi.BoolOutput

type MrScalarArgs

type MrScalarArgs struct {
	AdditionalInfo                  interface{}
	AdditionalPrimarySecurityGroups interface{}
	AdditionalReplicaSecurityGroups interface{}
	Applications                    interface{}
	AvailabilityZones               interface{}
	BootstrapActionsFiles           interface{}
	// The MrScaler cluster id.
	ClusterId               interface{}
	ConfigurationsFiles     interface{}
	CoreDesiredCapacity     interface{}
	CoreEbsBlockDevices     interface{}
	CoreEbsOptimized        interface{}
	CoreInstanceTypes       interface{}
	CoreLifecycle           interface{}
	CoreMaxSize             interface{}
	CoreMinSize             interface{}
	CoreScalingDownPolicies interface{}
	CoreScalingUpPolicies   interface{}
	CustomAmiId             interface{}
	// The MrScaler description.
	Description       interface{}
	EbsRootVolumeSize interface{}
	Ec2KeyName        interface{}
	// Allow the `cluster_id` to set a Terraform output variable.
	ExposeClusterId             interface{}
	JobFlowRole                 interface{}
	KeepJobFlowAlive            interface{}
	LogUri                      interface{}
	ManagedPrimarySecurityGroup interface{}
	ManagedReplicaSecurityGroup interface{}
	MasterEbsBlockDevices       interface{}
	MasterEbsOptimized          interface{}
	MasterInstanceTypes         interface{}
	MasterLifecycle             interface{}
	// The MrScaler name.
	Name                interface{}
	ProvisioningTimeout interface{}
	// The MrScaler region.
	Region                     interface{}
	ReleaseLabel               interface{}
	RepoUpgradeOnBoot          interface{}
	Retries                    interface{}
	ScheduledTasks             interface{}
	SecurityConfig             interface{}
	ServiceAccessSecurityGroup interface{}
	ServiceRole                interface{}
	StepsFiles                 interface{}
	// The MrScaler strategy. Allowed values are `new` `clone` and `wrap`.
	Strategy                interface{}
	Tags                    interface{}
	TaskDesiredCapacity     interface{}
	TaskEbsBlockDevices     interface{}
	TaskEbsOptimized        interface{}
	TaskInstanceTypes       interface{}
	TaskLifecycle           interface{}
	TaskMaxSize             interface{}
	TaskMinSize             interface{}
	TaskScalingDownPolicies interface{}
	TaskScalingUpPolicies   interface{}
	TerminationProtected    interface{}
	VisibleToAllUsers       interface{}
}

The set of arguments for constructing a MrScalar resource.

type MrScalarState

type MrScalarState struct {
	AdditionalInfo                  interface{}
	AdditionalPrimarySecurityGroups interface{}
	AdditionalReplicaSecurityGroups interface{}
	Applications                    interface{}
	AvailabilityZones               interface{}
	BootstrapActionsFiles           interface{}
	// The MrScaler cluster id.
	ClusterId               interface{}
	ConfigurationsFiles     interface{}
	CoreDesiredCapacity     interface{}
	CoreEbsBlockDevices     interface{}
	CoreEbsOptimized        interface{}
	CoreInstanceTypes       interface{}
	CoreLifecycle           interface{}
	CoreMaxSize             interface{}
	CoreMinSize             interface{}
	CoreScalingDownPolicies interface{}
	CoreScalingUpPolicies   interface{}
	CustomAmiId             interface{}
	// The MrScaler description.
	Description       interface{}
	EbsRootVolumeSize interface{}
	Ec2KeyName        interface{}
	// Allow the `cluster_id` to set a Terraform output variable.
	ExposeClusterId             interface{}
	JobFlowRole                 interface{}
	KeepJobFlowAlive            interface{}
	LogUri                      interface{}
	ManagedPrimarySecurityGroup interface{}
	ManagedReplicaSecurityGroup interface{}
	MasterEbsBlockDevices       interface{}
	MasterEbsOptimized          interface{}
	MasterInstanceTypes         interface{}
	MasterLifecycle             interface{}
	// The MrScaler name.
	Name                interface{}
	OutputClusterId     interface{}
	ProvisioningTimeout interface{}
	// The MrScaler region.
	Region                     interface{}
	ReleaseLabel               interface{}
	RepoUpgradeOnBoot          interface{}
	Retries                    interface{}
	ScheduledTasks             interface{}
	SecurityConfig             interface{}
	ServiceAccessSecurityGroup interface{}
	ServiceRole                interface{}
	StepsFiles                 interface{}
	// The MrScaler strategy. Allowed values are `new` `clone` and `wrap`.
	Strategy                interface{}
	Tags                    interface{}
	TaskDesiredCapacity     interface{}
	TaskEbsBlockDevices     interface{}
	TaskEbsOptimized        interface{}
	TaskInstanceTypes       interface{}
	TaskLifecycle           interface{}
	TaskMaxSize             interface{}
	TaskMinSize             interface{}
	TaskScalingDownPolicies interface{}
	TaskScalingUpPolicies   interface{}
	TerminationProtected    interface{}
	VisibleToAllUsers       interface{}
}

Input properties used for looking up and filtering MrScalar resources.

type Ocean

type Ocean struct {
	// contains filtered or unexported fields
}

Provides a Spotinst Ocean AWS resource.

func GetOcean

func GetOcean(ctx *pulumi.Context,
	name string, id pulumi.ID, state *OceanState, opts ...pulumi.ResourceOpt) (*Ocean, error)

GetOcean gets an existing Ocean resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewOcean

func NewOcean(ctx *pulumi.Context,
	name string, args *OceanArgs, opts ...pulumi.ResourceOpt) (*Ocean, error)

NewOcean registers a new resource with the given unique name, arguments, and options.

func (*Ocean) Autoscaler

func (r *Ocean) Autoscaler() *pulumi.Output

Describes the Ocean Kubernetes autoscaler.

func (*Ocean) Blacklists

func (r *Ocean) Blacklists() *pulumi.ArrayOutput

Instance types not allowed in the Ocean cluster. Cannot be configured if `whitelist` is configured.

func (*Ocean) ControllerId

func (r *Ocean) ControllerId() *pulumi.StringOutput

The ocean cluster identifier. Example: `ocean.k8s`

func (*Ocean) DesiredCapacity

func (r *Ocean) DesiredCapacity() *pulumi.IntOutput

The number of instances to launch and maintain in the cluster.

func (*Ocean) FallbackToOndemand

func (r *Ocean) FallbackToOndemand() *pulumi.BoolOutput

If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.

func (*Ocean) ID

func (r *Ocean) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Ocean) IamInstanceProfile

func (r *Ocean) IamInstanceProfile() *pulumi.StringOutput

The instance profile iam role.

func (*Ocean) ImageId

func (r *Ocean) ImageId() *pulumi.StringOutput

ID of the image used to launch the instances.

func (*Ocean) KeyName

func (r *Ocean) KeyName() *pulumi.StringOutput

The key pair to attach the instances.

func (*Ocean) MaxSize

func (r *Ocean) MaxSize() *pulumi.IntOutput

The upper limit of instances the cluster can scale up to.

func (*Ocean) MinSize

func (r *Ocean) MinSize() *pulumi.IntOutput

The lower limit of instances the cluster can scale down to.

func (*Ocean) Name

func (r *Ocean) Name() *pulumi.StringOutput

The cluster name.

func (*Ocean) Region

func (r *Ocean) Region() *pulumi.StringOutput

The region the cluster will run in.

func (*Ocean) SecurityGroups

func (r *Ocean) SecurityGroups() *pulumi.ArrayOutput

One or more security group ids.

func (*Ocean) SpotPercentage

func (r *Ocean) SpotPercentage() *pulumi.Float64Output

The percentage of Spot instances the cluster should maintain. Min 0, max 100.

func (*Ocean) SubnetIds

func (r *Ocean) SubnetIds() *pulumi.ArrayOutput

A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.

func (*Ocean) Tags

func (r *Ocean) Tags() *pulumi.ArrayOutput

Optionally adds tags to instances launched in an Ocean cluster.

func (*Ocean) URN

func (r *Ocean) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Ocean) UserData

func (r *Ocean) UserData() *pulumi.StringOutput

Base64-encoded MIME user data to make available to the instances.

func (*Ocean) UtilizeReservedInstances

func (r *Ocean) UtilizeReservedInstances() *pulumi.BoolOutput

If Reserved instances exist, OCean will utilize them before launching Spot instances.

func (*Ocean) Whitelists

func (r *Ocean) Whitelists() *pulumi.ArrayOutput

Instance types allowed in the Ocean cluster. Cannot be configured if `blacklist` is configured.

type OceanArgs

type OceanArgs struct {
	// Describes the Ocean Kubernetes autoscaler.
	Autoscaler interface{}
	// Instance types not allowed in the Ocean cluster. Cannot be configured if `whitelist` is configured.
	Blacklists interface{}
	// The ocean cluster identifier. Example: `ocean.k8s`
	ControllerId interface{}
	// The number of instances to launch and maintain in the cluster.
	DesiredCapacity interface{}
	// If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
	FallbackToOndemand interface{}
	// The instance profile iam role.
	IamInstanceProfile interface{}
	// ID of the image used to launch the instances.
	ImageId interface{}
	// The key pair to attach the instances.
	KeyName interface{}
	// The upper limit of instances the cluster can scale up to.
	MaxSize interface{}
	// The lower limit of instances the cluster can scale down to.
	MinSize interface{}
	// The cluster name.
	Name interface{}
	// The region the cluster will run in.
	Region interface{}
	// One or more security group ids.
	SecurityGroups interface{}
	// The percentage of Spot instances the cluster should maintain. Min 0, max 100.
	SpotPercentage interface{}
	// A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
	SubnetIds interface{}
	// Optionally adds tags to instances launched in an Ocean cluster.
	Tags interface{}
	// Base64-encoded MIME user data to make available to the instances.
	UserData interface{}
	// If Reserved instances exist, OCean will utilize them before launching Spot instances.
	UtilizeReservedInstances interface{}
	// Instance types allowed in the Ocean cluster. Cannot be configured if `blacklist` is configured.
	Whitelists interface{}
}

The set of arguments for constructing a Ocean resource.

type OceanState

type OceanState struct {
	// Describes the Ocean Kubernetes autoscaler.
	Autoscaler interface{}
	// Instance types not allowed in the Ocean cluster. Cannot be configured if `whitelist` is configured.
	Blacklists interface{}
	// The ocean cluster identifier. Example: `ocean.k8s`
	ControllerId interface{}
	// The number of instances to launch and maintain in the cluster.
	DesiredCapacity interface{}
	// If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
	FallbackToOndemand interface{}
	// The instance profile iam role.
	IamInstanceProfile interface{}
	// ID of the image used to launch the instances.
	ImageId interface{}
	// The key pair to attach the instances.
	KeyName interface{}
	// The upper limit of instances the cluster can scale up to.
	MaxSize interface{}
	// The lower limit of instances the cluster can scale down to.
	MinSize interface{}
	// The cluster name.
	Name interface{}
	// The region the cluster will run in.
	Region interface{}
	// One or more security group ids.
	SecurityGroups interface{}
	// The percentage of Spot instances the cluster should maintain. Min 0, max 100.
	SpotPercentage interface{}
	// A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
	SubnetIds interface{}
	// Optionally adds tags to instances launched in an Ocean cluster.
	Tags interface{}
	// Base64-encoded MIME user data to make available to the instances.
	UserData interface{}
	// If Reserved instances exist, OCean will utilize them before launching Spot instances.
	UtilizeReservedInstances interface{}
	// Instance types allowed in the Ocean cluster. Cannot be configured if `blacklist` is configured.
	Whitelists interface{}
}

Input properties used for looking up and filtering Ocean resources.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL