Documentation ¶
Index ¶
- type Beanstalk
- func (r *Beanstalk) BeanstalkEnvironmentId() *pulumi.StringOutput
- func (r *Beanstalk) BeanstalkEnvironmentName() *pulumi.StringOutput
- func (r *Beanstalk) DeploymentPreferences() *pulumi.Output
- func (r *Beanstalk) DesiredCapacity() *pulumi.IntOutput
- func (r *Beanstalk) ID() *pulumi.IDOutput
- func (r *Beanstalk) InstanceTypesSpots() *pulumi.ArrayOutput
- func (r *Beanstalk) Maintenance() *pulumi.StringOutput
- func (r *Beanstalk) ManagedActions() *pulumi.Output
- func (r *Beanstalk) MaxSize() *pulumi.IntOutput
- func (r *Beanstalk) MinSize() *pulumi.IntOutput
- func (r *Beanstalk) Name() *pulumi.StringOutput
- func (r *Beanstalk) Product() *pulumi.StringOutput
- func (r *Beanstalk) Region() *pulumi.StringOutput
- func (r *Beanstalk) URN() *pulumi.URNOutput
- type BeanstalkArgs
- type BeanstalkState
- type Elastigroup
- func (r *Elastigroup) AvailabilityZones() *pulumi.ArrayOutput
- func (r *Elastigroup) BlockDevicesMode() *pulumi.StringOutput
- func (r *Elastigroup) CapacityUnit() *pulumi.StringOutput
- func (r *Elastigroup) CpuCredits() *pulumi.StringOutput
- func (r *Elastigroup) Description() *pulumi.StringOutput
- func (r *Elastigroup) DesiredCapacity() *pulumi.IntOutput
- func (r *Elastigroup) DrainingTimeout() *pulumi.IntOutput
- func (r *Elastigroup) EbsBlockDevices() *pulumi.ArrayOutput
- func (r *Elastigroup) EbsOptimized() *pulumi.BoolOutput
- func (r *Elastigroup) ElasticIps() *pulumi.ArrayOutput
- func (r *Elastigroup) ElasticLoadBalancers() *pulumi.ArrayOutput
- func (r *Elastigroup) EnableMonitoring() *pulumi.BoolOutput
- func (r *Elastigroup) EphemeralBlockDevices() *pulumi.ArrayOutput
- func (r *Elastigroup) FallbackToOndemand() *pulumi.BoolOutput
- func (r *Elastigroup) HealthCheckGracePeriod() *pulumi.IntOutput
- func (r *Elastigroup) HealthCheckType() *pulumi.StringOutput
- func (r *Elastigroup) HealthCheckUnhealthyDurationBeforeReplacement() *pulumi.IntOutput
- func (r *Elastigroup) ID() *pulumi.IDOutput
- func (r *Elastigroup) IamInstanceProfile() *pulumi.StringOutput
- func (r *Elastigroup) ImageId() *pulumi.StringOutput
- func (r *Elastigroup) InstanceTypesOndemand() *pulumi.StringOutput
- func (r *Elastigroup) InstanceTypesPreferredSpots() *pulumi.ArrayOutput
- func (r *Elastigroup) InstanceTypesSpots() *pulumi.ArrayOutput
- func (r *Elastigroup) InstanceTypesWeights() *pulumi.ArrayOutput
- func (r *Elastigroup) IntegrationBeanstalk() *pulumi.Output
- func (r *Elastigroup) IntegrationCodedeploy() *pulumi.Output
- func (r *Elastigroup) IntegrationDockerSwarm() *pulumi.Output
- func (r *Elastigroup) IntegrationEcs() *pulumi.Output
- func (r *Elastigroup) IntegrationGitlab() *pulumi.Output
- func (r *Elastigroup) IntegrationKubernetes() *pulumi.Output
- func (r *Elastigroup) IntegrationMesosphere() *pulumi.Output
- func (r *Elastigroup) IntegrationMultaiRuntime() *pulumi.Output
- func (r *Elastigroup) IntegrationNomad() *pulumi.Output
- func (r *Elastigroup) IntegrationRancher() *pulumi.Output
- func (r *Elastigroup) IntegrationRoute53() *pulumi.Output
- func (r *Elastigroup) KeyName() *pulumi.StringOutput
- func (r *Elastigroup) LifetimePeriod() *pulumi.StringOutput
- func (r *Elastigroup) MaxSize() *pulumi.IntOutput
- func (r *Elastigroup) MinSize() *pulumi.IntOutput
- func (r *Elastigroup) MultaiTargetSets() *pulumi.ArrayOutput
- func (r *Elastigroup) Name() *pulumi.StringOutput
- func (r *Elastigroup) NetworkInterfaces() *pulumi.ArrayOutput
- func (r *Elastigroup) OndemandCount() *pulumi.IntOutput
- func (r *Elastigroup) Orientation() *pulumi.StringOutput
- func (r *Elastigroup) PersistBlockDevices() *pulumi.BoolOutput
- func (r *Elastigroup) PersistPrivateIp() *pulumi.BoolOutput
- func (r *Elastigroup) PersistRootDevice() *pulumi.BoolOutput
- func (r *Elastigroup) PlacementTenancy() *pulumi.StringOutput
- func (r *Elastigroup) PreferredAvailabilityZones() *pulumi.ArrayOutput
- func (r *Elastigroup) PrivateIps() *pulumi.ArrayOutput
- func (r *Elastigroup) Product() *pulumi.StringOutput
- func (r *Elastigroup) Region() *pulumi.StringOutput
- func (r *Elastigroup) RevertToSpot() *pulumi.Output
- func (r *Elastigroup) ScalingDownPolicies() *pulumi.ArrayOutput
- func (r *Elastigroup) ScalingStrategies() *pulumi.ArrayOutput
- func (r *Elastigroup) ScalingTargetPolicies() *pulumi.ArrayOutput
- func (r *Elastigroup) ScalingUpPolicies() *pulumi.ArrayOutput
- func (r *Elastigroup) ScheduledTasks() *pulumi.ArrayOutput
- func (r *Elastigroup) SecurityGroups() *pulumi.ArrayOutput
- func (r *Elastigroup) ShutdownScript() *pulumi.StringOutput
- func (r *Elastigroup) Signals() *pulumi.ArrayOutput
- func (r *Elastigroup) SpotPercentage() *pulumi.Float64Output
- func (r *Elastigroup) StatefulDeallocation() *pulumi.Output
- func (r *Elastigroup) SubnetIds() *pulumi.ArrayOutput
- func (r *Elastigroup) Tags() *pulumi.ArrayOutput
- func (r *Elastigroup) TargetGroupArns() *pulumi.ArrayOutput
- func (r *Elastigroup) URN() *pulumi.URNOutput
- func (r *Elastigroup) UpdatePolicy() *pulumi.Output
- func (r *Elastigroup) UserData() *pulumi.StringOutput
- func (r *Elastigroup) UtilizeReservedInstances() *pulumi.BoolOutput
- func (r *Elastigroup) WaitForCapacity() *pulumi.IntOutput
- func (r *Elastigroup) WaitForCapacityTimeout() *pulumi.IntOutput
- type ElastigroupArgs
- type ElastigroupState
- type MrScalar
- func (r *MrScalar) AdditionalInfo() *pulumi.StringOutput
- func (r *MrScalar) AdditionalPrimarySecurityGroups() *pulumi.ArrayOutput
- func (r *MrScalar) AdditionalReplicaSecurityGroups() *pulumi.ArrayOutput
- func (r *MrScalar) Applications() *pulumi.ArrayOutput
- func (r *MrScalar) AvailabilityZones() *pulumi.ArrayOutput
- func (r *MrScalar) BootstrapActionsFiles() *pulumi.ArrayOutput
- func (r *MrScalar) ClusterId() *pulumi.StringOutput
- func (r *MrScalar) ConfigurationsFiles() *pulumi.ArrayOutput
- func (r *MrScalar) CoreDesiredCapacity() *pulumi.IntOutput
- func (r *MrScalar) CoreEbsBlockDevices() *pulumi.ArrayOutput
- func (r *MrScalar) CoreEbsOptimized() *pulumi.BoolOutput
- func (r *MrScalar) CoreInstanceTypes() *pulumi.ArrayOutput
- func (r *MrScalar) CoreLifecycle() *pulumi.StringOutput
- func (r *MrScalar) CoreMaxSize() *pulumi.IntOutput
- func (r *MrScalar) CoreMinSize() *pulumi.IntOutput
- func (r *MrScalar) CoreScalingDownPolicies() *pulumi.ArrayOutput
- func (r *MrScalar) CoreScalingUpPolicies() *pulumi.ArrayOutput
- func (r *MrScalar) CustomAmiId() *pulumi.StringOutput
- func (r *MrScalar) Description() *pulumi.StringOutput
- func (r *MrScalar) EbsRootVolumeSize() *pulumi.IntOutput
- func (r *MrScalar) Ec2KeyName() *pulumi.StringOutput
- func (r *MrScalar) ExposeClusterId() *pulumi.BoolOutput
- func (r *MrScalar) ID() *pulumi.IDOutput
- func (r *MrScalar) InstanceWeights() *pulumi.ArrayOutput
- func (r *MrScalar) JobFlowRole() *pulumi.StringOutput
- func (r *MrScalar) KeepJobFlowAlive() *pulumi.BoolOutput
- func (r *MrScalar) LogUri() *pulumi.StringOutput
- func (r *MrScalar) ManagedPrimarySecurityGroup() *pulumi.StringOutput
- func (r *MrScalar) ManagedReplicaSecurityGroup() *pulumi.StringOutput
- func (r *MrScalar) MasterEbsBlockDevices() *pulumi.ArrayOutput
- func (r *MrScalar) MasterEbsOptimized() *pulumi.BoolOutput
- func (r *MrScalar) MasterInstanceTypes() *pulumi.ArrayOutput
- func (r *MrScalar) MasterLifecycle() *pulumi.StringOutput
- func (r *MrScalar) Name() *pulumi.StringOutput
- func (r *MrScalar) OutputClusterId() *pulumi.StringOutput
- func (r *MrScalar) ProvisioningTimeout() *pulumi.Output
- func (r *MrScalar) Region() *pulumi.StringOutput
- func (r *MrScalar) ReleaseLabel() *pulumi.StringOutput
- func (r *MrScalar) RepoUpgradeOnBoot() *pulumi.StringOutput
- func (r *MrScalar) Retries() *pulumi.IntOutput
- func (r *MrScalar) ScheduledTasks() *pulumi.ArrayOutput
- func (r *MrScalar) SecurityConfig() *pulumi.StringOutput
- func (r *MrScalar) ServiceAccessSecurityGroup() *pulumi.StringOutput
- func (r *MrScalar) ServiceRole() *pulumi.StringOutput
- func (r *MrScalar) StepsFiles() *pulumi.ArrayOutput
- func (r *MrScalar) Strategy() *pulumi.StringOutput
- func (r *MrScalar) Tags() *pulumi.ArrayOutput
- func (r *MrScalar) TaskDesiredCapacity() *pulumi.IntOutput
- func (r *MrScalar) TaskEbsBlockDevices() *pulumi.ArrayOutput
- func (r *MrScalar) TaskEbsOptimized() *pulumi.BoolOutput
- func (r *MrScalar) TaskInstanceTypes() *pulumi.ArrayOutput
- func (r *MrScalar) TaskLifecycle() *pulumi.StringOutput
- func (r *MrScalar) TaskMaxSize() *pulumi.IntOutput
- func (r *MrScalar) TaskMinSize() *pulumi.IntOutput
- func (r *MrScalar) TaskScalingDownPolicies() *pulumi.ArrayOutput
- func (r *MrScalar) TaskScalingUpPolicies() *pulumi.ArrayOutput
- func (r *MrScalar) TerminationProtected() *pulumi.BoolOutput
- func (r *MrScalar) URN() *pulumi.URNOutput
- func (r *MrScalar) VisibleToAllUsers() *pulumi.BoolOutput
- type MrScalarArgs
- type MrScalarState
- type Ocean
- func (r *Ocean) AssociatePublicIpAddress() *pulumi.BoolOutput
- func (r *Ocean) Autoscaler() *pulumi.Output
- func (r *Ocean) Blacklists() *pulumi.ArrayOutput
- func (r *Ocean) ControllerId() *pulumi.StringOutput
- func (r *Ocean) DesiredCapacity() *pulumi.IntOutput
- func (r *Ocean) DrainingTimeout() *pulumi.IntOutput
- func (r *Ocean) EbsOptimized() *pulumi.BoolOutput
- func (r *Ocean) FallbackToOndemand() *pulumi.BoolOutput
- func (r *Ocean) ID() *pulumi.IDOutput
- func (r *Ocean) IamInstanceProfile() *pulumi.StringOutput
- func (r *Ocean) ImageId() *pulumi.StringOutput
- func (r *Ocean) KeyName() *pulumi.StringOutput
- func (r *Ocean) LoadBalancers() *pulumi.ArrayOutput
- func (r *Ocean) MaxSize() *pulumi.IntOutput
- func (r *Ocean) MinSize() *pulumi.IntOutput
- func (r *Ocean) Monitoring() *pulumi.BoolOutput
- func (r *Ocean) Name() *pulumi.StringOutput
- func (r *Ocean) Region() *pulumi.StringOutput
- func (r *Ocean) RootVolumeSize() *pulumi.IntOutput
- func (r *Ocean) SecurityGroups() *pulumi.ArrayOutput
- func (r *Ocean) SpotPercentage() *pulumi.Float64Output
- func (r *Ocean) SubnetIds() *pulumi.ArrayOutput
- func (r *Ocean) Tags() *pulumi.ArrayOutput
- func (r *Ocean) URN() *pulumi.URNOutput
- func (r *Ocean) UpdatePolicy() *pulumi.Output
- func (r *Ocean) UserData() *pulumi.StringOutput
- func (r *Ocean) UtilizeReservedInstances() *pulumi.BoolOutput
- func (r *Ocean) Whitelists() *pulumi.ArrayOutput
- type OceanArgs
- type OceanLaunchSpec
- func (r *OceanLaunchSpec) ID() *pulumi.IDOutput
- func (r *OceanLaunchSpec) IamInstanceProfile() *pulumi.StringOutput
- func (r *OceanLaunchSpec) ImageId() *pulumi.StringOutput
- func (r *OceanLaunchSpec) Labels() *pulumi.ArrayOutput
- func (r *OceanLaunchSpec) OceanId() *pulumi.StringOutput
- func (r *OceanLaunchSpec) Taints() *pulumi.ArrayOutput
- func (r *OceanLaunchSpec) URN() *pulumi.URNOutput
- func (r *OceanLaunchSpec) UserData() *pulumi.StringOutput
- type OceanLaunchSpecArgs
- type OceanLaunchSpecState
- type OceanState
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.
> This content is derived from https://github.com/terraform-providers/terraform-provider-spotinst/blob/master/website/docs/r/elastigroup_aws_beanstalk.html.markdown.
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) BeanstalkEnvironmentId ¶
func (r *Beanstalk) BeanstalkEnvironmentId() *pulumi.StringOutput
The id of an existing Beanstalk environment.
func (*Beanstalk) BeanstalkEnvironmentName ¶
func (r *Beanstalk) BeanstalkEnvironmentName() *pulumi.StringOutput
The name of an existing Beanstalk environment.
func (*Beanstalk) DeploymentPreferences ¶
Preferences when performing a roll
func (*Beanstalk) DesiredCapacity ¶
The desired number of instances the group should have at any time.
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) ManagedActions ¶
Managed Actions parameters
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.
type BeanstalkArgs ¶
type BeanstalkArgs struct { // The id of an existing Beanstalk environment. BeanstalkEnvironmentId interface{} // The name of an existing Beanstalk environment. BeanstalkEnvironmentName interface{} // Preferences when performing a roll DeploymentPreferences 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{} // Managed Actions parameters ManagedActions 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 id of an existing Beanstalk environment. BeanstalkEnvironmentId interface{} // The name of an existing Beanstalk environment. BeanstalkEnvironmentName interface{} // Preferences when performing a roll DeploymentPreferences 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{} // Managed Actions parameters ManagedActions 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.
> This content is derived from https://github.com/terraform-providers/terraform-provider-spotinst/blob/master/website/docs/r/elastigroup_aws.html.markdown.
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. When this parameter is set, `subnetIds` should be left unused. Note: `availabilityZones` naming syntax follows the convention `availability-zone:subnet:placement-group-name`. For example, to set an AZ in `us-east-1` with subnet `subnet-123456` and placement group `ClusterI03`, you would set: `availabilityZones = ["us-east-1a:subnet-123456:ClusterI03"]`
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) IntegrationBeanstalk ¶
func (r *Elastigroup) IntegrationBeanstalk() *pulumi.Output
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) 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 `spotPercentage` 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 `availabilityZones` 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) ScalingStrategies ¶
func (r *Elastigroup) ScalingStrategies() *pulumi.ArrayOutput
Set termination policy.
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 `desiredCapacity` 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, `availabilityZones` 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 `desiredCapacity`.
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. When this parameter is set, `subnetIds` should be left unused. // Note: `availabilityZones` naming syntax follows the convention `availability-zone:subnet:placement-group-name`. For example, to set an AZ in `us-east-1` with subnet `subnet-123456` and placement group `ClusterI03`, you would set: // `availabilityZones = ["us-east-1a:subnet-123456:ClusterI03"]` 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{} IntegrationBeanstalk 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 `spotPercentage` 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 `availabilityZones` 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{} // Set termination policy. ScalingStrategies 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 `desiredCapacity` number. SpotPercentage interface{} StatefulDeallocation interface{} // List of Strings of subnet identifiers. // Note: When this parameter is set, `availabilityZones` 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 `desiredCapacity`. 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. When this parameter is set, `subnetIds` should be left unused. // Note: `availabilityZones` naming syntax follows the convention `availability-zone:subnet:placement-group-name`. For example, to set an AZ in `us-east-1` with subnet `subnet-123456` and placement group `ClusterI03`, you would set: // `availabilityZones = ["us-east-1a:subnet-123456:ClusterI03"]` 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{} IntegrationBeanstalk 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 `spotPercentage` 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 `availabilityZones` 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{} // Set termination policy. ScalingStrategies 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 `desiredCapacity` number. SpotPercentage interface{} StatefulDeallocation interface{} // List of Strings of subnet identifiers. // Note: When this parameter is set, `availabilityZones` 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 `desiredCapacity`. 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'. * `timeoutAction` - (Optional) The action to take if the timeout is exceeded. Valid values: `terminate`, `terminateAndRetry`.
<a id="cluster-config"></a> ## Cluster Configuration (New strategy only)
* `logUri` - (Optional) The path to the Amazon S3 location where logs for this cluster are stored. * `additionalInfo` - (Optional) This is meta information about third-party applications that third-party vendors use for testing purposes. * `securityConfig` - (Optional) The name of the security configuration applied to the cluster. * `serviceRole` - (Optional) The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf. * `jobFlowRole` - (Optional) The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role. * `terminationProtected` - (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. * `keepJobFlowAlive` - (Optional) Specifies whether the cluster should remain available after completing all steps.
<a id="task-group"></a> ## Task Group (Wrap, Clone, and New strategies)
* `taskInstanceTypes` - (Required) The MrScaler instance types for the task nodes. * `taskTarget` - (Required) amount of instances in task group. * `taskMaximum` - (Optional) maximal amount of instances in task group. * `taskMinimum` - (Optional) The minimal amount of instances in task group. * `taskLifecycle` - (Required) The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'. * `taskEbsOptimized` - (Optional) EBS Optimization setting for instances in group. * `taskEbsBlockDevice` - (Required) This determines the ebs configuration for your task group instances. Only a single block is allowed.
- `volumesPerInstance` - (Optional; Default 1) Amount of volumes per instance in the task group.
- `volumeType` - (Required) volume type. Allowed values are 'gp2', 'io1' and others.
- `sizeInGb` - (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)
* `coreInstanceTypes` - (Required) The MrScaler instance types for the core nodes. * `coreTarget` - (Required) amount of instances in core group. * `coreMaximum` - (Optional) maximal amount of instances in core group. * `coreMinimum` - (Optional) The minimal amount of instances in core group. * `coreLifecycle` - (Required) The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'. * `coreEbsOptimized` - (Optional) EBS Optimization setting for instances in group. * `coreEbsBlockDevice` - (Required) This determines the ebs configuration for your core group instances. Only a single block is allowed.
- `volumesPerInstance` - (Optional; Default 1) Amount of volumes per instance in the core group.
- `volumeType` - (Required) volume type. Allowed values are 'gp2', 'io1' and others.
- `sizeInGb` - (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)
* `masterInstanceTypes` - (Required) The MrScaler instance types for the master nodes. * `masterLifecycle` - (Required) The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'. * `masterEbsOptimized` - (Optional) EBS Optimization setting for instances in group. * `masterEbsBlockDevice` - (Required) This determines the ebs configuration for your master group instances. Only a single block is allowed.
- `volumesPerInstance` - (Optional; Default 1) Amount of volumes per instance in the master group.
- `volumeType` - (Required) volume type. Allowed values are 'gp2', 'io1' and others.
- `sizeInGb` - (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)
* `managedPrimarySecurityGroup` - (Optional) EMR Managed Security group that will be set to the primary instance group. * `managedReplicaSecurityGroup` - (Optional) EMR Managed Security group that will be set to the replica instance group. * `serviceAccessSecurityGroup` - (Optional) The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets. * `additionalPrimarySecurityGroups` - (Optional) A list of additional Amazon EC2 security group IDs for the master node. * `additionalReplicaSecurityGroups` - (Optional) A list of additional Amazon EC2 security group IDs for the core and task nodes. * `customAmiId` - (Optional) The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI. * `repoUpgradeOnBoot` - (Optional) Applies only when `customAmiId` 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`. * `ec2KeyName` - (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.
* `instanceWeights` - (Optional) Describes the instance and weights. Check out [Elastigroup Weighted Instances](https://api.spotinst.com/elastigroup-for-aws/concepts/general-concepts/elastigroup-capacity-instances-or-weighted) for more info.
- `instanceType` - (Required) The type of the instance.
- `weightedCapacity` - (Required) The weight given to the associated instance type.
<a id="availability-zone"></a> ## Availability Zones (Clone, New strategies)
* `availabilityZones` - (Required in Clone) List of AZs and their subnet Ids. See example above for usage.
<a id="configurations"></a> ## Configurations (Clone, New strategies)
* `configurationsFile` - (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)
* `stepsFile` - (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)
* `bootstrapActionsFile` - (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): * `taskScalingUpPolicy` * `taskScalingDownPolicy`
Possible core group scaling policies (Clone, New strategies): * `coreScalingUpPolicy` * `coreScalingDownPolicy`
Each `*_scaling_*_policy` supports the following:
* `policyName` - (Required) The name of the policy. * `metricName` - (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. * `minTargetCapacity` - (Optional) Min target capacity for scale up. * `maxTargetCapacity` - (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'. * `evaluationPeriods` - (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. * `actionType` - (Required) The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
<a id="scheduled-task"></a> ## Scheduled Tasks
* `scheduledTask` - (Optional) An array of scheduled tasks. * `isEnabled` - (Optional) Enable/Disable the specified scheduling task. * `taskType` - (Required) The type of task to be scheduled. Valid values: `setCapacity`. * `instanceGroupType` - (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. * `desiredCapacity` - (Optional) New desired capacity for the elastigroup. * `minCapacity` - (Optional) New min capacity for the elastigroup. * `maxCapacity` - (Optional) New max capacity for the elastigroup.
> This content is derived from https://github.com/terraform-providers/terraform-provider-spotinst/blob/master/website/docs/r/mrscaler_aws.html.markdown.
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 (*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 (*MrScalar) CoreMinSize ¶
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 (*MrScalar) Ec2KeyName ¶
func (r *MrScalar) Ec2KeyName() *pulumi.StringOutput
func (*MrScalar) ExposeClusterId ¶
func (r *MrScalar) ExposeClusterId() *pulumi.BoolOutput
func (*MrScalar) InstanceWeights ¶
func (r *MrScalar) InstanceWeights() *pulumi.ArrayOutput
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) OutputClusterId ¶
func (r *MrScalar) OutputClusterId() *pulumi.StringOutput
func (*MrScalar) ProvisioningTimeout ¶
func (*MrScalar) ReleaseLabel ¶
func (r *MrScalar) ReleaseLabel() *pulumi.StringOutput
func (*MrScalar) RepoUpgradeOnBoot ¶
func (r *MrScalar) RepoUpgradeOnBoot() *pulumi.StringOutput
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 (*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 (*MrScalar) TaskMinSize ¶
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) 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{} ExposeClusterId interface{} InstanceWeights 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{} ExposeClusterId interface{} InstanceWeights 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.
> This content is derived from https://github.com/terraform-providers/terraform-provider-spotinst/blob/master/website/docs/r/ocean_aws.html.markdown.
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) AssociatePublicIpAddress ¶
func (r *Ocean) AssociatePublicIpAddress() *pulumi.BoolOutput
Configure public IP address allocation.
func (*Ocean) Autoscaler ¶
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 ¶
The number of instances to launch and maintain in the cluster.
func (*Ocean) DrainingTimeout ¶
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 (*Ocean) EbsOptimized ¶
func (r *Ocean) EbsOptimized() *pulumi.BoolOutput
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
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) 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) LoadBalancers ¶
func (r *Ocean) LoadBalancers() *pulumi.ArrayOutput
- Array of load balancer objects to add to ocean cluster
func (*Ocean) Monitoring ¶
func (r *Ocean) Monitoring() *pulumi.BoolOutput
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
func (*Ocean) Region ¶
func (r *Ocean) Region() *pulumi.StringOutput
The region the cluster will run in.
func (*Ocean) RootVolumeSize ¶
The size (in Gb) to allocate for the root volume. Minimum `20`.
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) UpdatePolicy ¶
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 { // Configure public IP address allocation. AssociatePublicIpAddress interface{} // 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{} // 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{} // Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored. EbsOptimized 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{} // - Array of load balancer objects to add to ocean cluster LoadBalancers 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{} // Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used. Monitoring interface{} // Required if type is set to CLASSIC Name interface{} // The region the cluster will run in. Region interface{} // The size (in Gb) to allocate for the root volume. Minimum `20`. RootVolumeSize 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{} UpdatePolicy 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 OceanLaunchSpec ¶
type OceanLaunchSpec struct {
// contains filtered or unexported fields
}
Provides a custom Spotinst Ocean AWS Launch Spec resource.
> This content is derived from https://github.com/terraform-providers/terraform-provider-spotinst/blob/master/website/docs/r/ocean_aws_launch_spec.html.markdown.
func GetOceanLaunchSpec ¶
func GetOceanLaunchSpec(ctx *pulumi.Context, name string, id pulumi.ID, state *OceanLaunchSpecState, opts ...pulumi.ResourceOpt) (*OceanLaunchSpec, error)
GetOceanLaunchSpec gets an existing OceanLaunchSpec 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 NewOceanLaunchSpec ¶
func NewOceanLaunchSpec(ctx *pulumi.Context, name string, args *OceanLaunchSpecArgs, opts ...pulumi.ResourceOpt) (*OceanLaunchSpec, error)
NewOceanLaunchSpec registers a new resource with the given unique name, arguments, and options.
func (*OceanLaunchSpec) ID ¶
func (r *OceanLaunchSpec) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*OceanLaunchSpec) IamInstanceProfile ¶
func (r *OceanLaunchSpec) IamInstanceProfile() *pulumi.StringOutput
The ARN or name of an IAM instance profile to associate with launched instances.
func (*OceanLaunchSpec) ImageId ¶
func (r *OceanLaunchSpec) ImageId() *pulumi.StringOutput
ID of the image used to launch the instances.
func (*OceanLaunchSpec) Labels ¶
func (r *OceanLaunchSpec) Labels() *pulumi.ArrayOutput
Optionally adds labels to instances launched in an Ocean cluster.
func (*OceanLaunchSpec) OceanId ¶
func (r *OceanLaunchSpec) OceanId() *pulumi.StringOutput
The ocean cluster you wish to
func (*OceanLaunchSpec) Taints ¶
func (r *OceanLaunchSpec) Taints() *pulumi.ArrayOutput
Optionally adds labels to instances launched in an Ocean cluster.
func (*OceanLaunchSpec) URN ¶
func (r *OceanLaunchSpec) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
func (*OceanLaunchSpec) UserData ¶
func (r *OceanLaunchSpec) UserData() *pulumi.StringOutput
Base64-encoded MIME user data to make available to the instances.
type OceanLaunchSpecArgs ¶
type OceanLaunchSpecArgs struct { // The ARN or name of an IAM instance profile to associate with launched instances. IamInstanceProfile interface{} // ID of the image used to launch the instances. ImageId interface{} // Optionally adds labels to instances launched in an Ocean cluster. Labels interface{} // The ocean cluster you wish to OceanId interface{} // Optionally adds labels to instances launched in an Ocean cluster. Taints interface{} // Base64-encoded MIME user data to make available to the instances. UserData interface{} }
The set of arguments for constructing a OceanLaunchSpec resource.
type OceanLaunchSpecState ¶
type OceanLaunchSpecState struct { // The ARN or name of an IAM instance profile to associate with launched instances. IamInstanceProfile interface{} // ID of the image used to launch the instances. ImageId interface{} // Optionally adds labels to instances launched in an Ocean cluster. Labels interface{} // The ocean cluster you wish to OceanId interface{} // Optionally adds labels to instances launched in an Ocean cluster. Taints interface{} // Base64-encoded MIME user data to make available to the instances. UserData interface{} }
Input properties used for looking up and filtering OceanLaunchSpec resources.
type OceanState ¶
type OceanState struct { // Configure public IP address allocation. AssociatePublicIpAddress interface{} // 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{} // 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{} // Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored. EbsOptimized 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{} // - Array of load balancer objects to add to ocean cluster LoadBalancers 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{} // Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used. Monitoring interface{} // Required if type is set to CLASSIC Name interface{} // The region the cluster will run in. Region interface{} // The size (in Gb) to allocate for the root volume. Minimum `20`. RootVolumeSize 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{} UpdatePolicy 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.