Show / Hide Table of Contents

Class Elastigroup

Provides a Spotinst Elastigroup GKE resource. Please see Importing a GKE cluster for detailed information.

Example Usage

using Pulumi;
using SpotInst = Pulumi.SpotInst;

class MyStack : Stack
{
public MyStack()
{
    var example_gke_elastigroup = new SpotInst.Gke.Elastigroup("example-gke-elastigroup", new SpotInst.Gke.ElastigroupArgs
    {
        BackendServices = 
        {
            new SpotInst.Gke.Inputs.ElastigroupBackendServiceArgs
            {
                LocationType = "global",
                NamedPorts = 
                {
                    new SpotInst.Gke.Inputs.ElastigroupBackendServiceNamedPortArgs
                    {
                        Name = "http",
                        Ports = 
                        {
                            80,
                            8080,
                        },
                    },
                },
                ServiceName = "backend-service",
            },
        },
        ClusterZoneName = "us-central1-a",
        DesiredCapacity = 3,
        InstanceTypesOndemand = "n1-standard-1",
        InstanceTypesPreemptibles = 
        {
            "n1-standard-1",
            "n1-standard-2",
        },
        IntegrationGke = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeArgs
        {
            AutoscaleCooldown = 300,
            AutoscaleDown = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleDownArgs
            {
                EvaluationPeriods = 300,
            },
            AutoscaleHeadroom = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleHeadroomArgs
            {
                CpuPerUnit = 1024,
                MemoryPerUnit = 512,
                NumOfUnits = 2,
            },
            AutoscaleIsAutoConfig = false,
            AutoscaleIsEnabled = true,
            AutoscaleLabels = 
            {
                new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleLabelArgs
                {
                    Key = "label_key",
                    Value = "label_value",
                },
            },
            ClusterId = "example-cluster-id",
            Location = "us-central1-a",
        },
        MaxSize = 5,
        MinSize = 1,
        NodeImage = "COS",
        PreemptiblePercentage = 100,
    });
}

}

Third-Party Integrations

  • integration_gke - (Required) Describes the GKE integration.

  • location - (Optional) The location of your GKE cluster.

  • cluster_id - (Optional) The GKE cluster ID you wish to import.

  • autoscale_is_enabled - (Optional, Default: false) Specifies whether the auto scaling feature is enabled.

  • autoscale_is_autoconfig - (Optional, Default: false) Enabling the automatic auto-scaler functionality. For more information please see: .

  • autoscale_cooldown - (Optional, Default: 300) The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

  • autoscale_headroom - (Optional) Headroom for the cluster.

    • cpu_per_unit - (Optional, Default: 0) Cpu units for compute.
    • memory_per_unit - (Optional, Default: 0) RAM units for compute.
    • num_of_units - (Optional, Default: 0) Amount of units for compute.
  • autoscale_down - (Optional) Enabling scale down.

    • evaluation_periods - (Optional, Default: 5) Amount of cooldown evaluation periods for scale down.
  • autoscale_labels - (Optional) Labels to assign to the resource.

    • key - (Optional) The label name.
    • value - (Optional) The label value.

Usage:

using Pulumi;

class MyStack : Stack
{
public MyStack()
{
}

}

<a id="diff-suppressed-parameters"></a>

Diff-suppressed Parameters

The following parameters are created remotely and imported. The diffs have been suppressed in order to maintain plan legibility. You may update the values of these imported parameters by defining them in your template with your desired new value (including null values).

  • backend_services
  • service_name
  • location_type
  • scheme
  • named_port
    • port_name
    • ports
  • labels
  • key
  • value
  • metadata
  • key
  • value
  • tags
  • key
  • value
  • service_account
  • ip_forwarding
  • fallback_to_od
  • subnets
  • region
  • subnet_name
Inheritance
System.Object
Resource
CustomResource
Elastigroup
Inherited Members
CustomResource.Id
Resource.GetResourceType()
Resource.GetResourceName()
Resource.Urn
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Pulumi.SpotInst.Gke
Assembly: Pulumi.SpotInst.dll
Syntax
public class Elastigroup : CustomResource

Constructors

View Source

Elastigroup(String, ElastigroupArgs, CustomResourceOptions)

Create a Elastigroup resource with the given unique name, arguments, and options.

Declaration
public Elastigroup(string name, ElastigroupArgs args, CustomResourceOptions options = null)
Parameters
Type Name Description
System.String name

The unique name of the resource

ElastigroupArgs args

The arguments used to populate this resource's properties

CustomResourceOptions options

A bag of options that control this resource's behavior

Properties

View Source

BackendServices

Declaration
public Output<ImmutableArray<ElastigroupBackendService>> BackendServices { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<ElastigroupBackendService>>
View Source

ClusterId

The name of the GKE cluster you wish to import.

Declaration
public Output<string> ClusterId { get; }
Property Value
Type Description
Output<System.String>
View Source

ClusterZoneName

The zone where the cluster is hosted.

Declaration
public Output<string> ClusterZoneName { get; }
Property Value
Type Description
Output<System.String>
View Source

DesiredCapacity

Declaration
public Output<int> DesiredCapacity { get; }
Property Value
Type Description
Output<System.Int32>
View Source

Disks

Declaration
public Output<ImmutableArray<ElastigroupDisk>> Disks { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<ElastigroupDisk>>
View Source

DrainingTimeout

Declaration
public Output<int?> DrainingTimeout { get; }
Property Value
Type Description
Output<System.Nullable<System.Int32>>
View Source

FallbackToOndemand

Declaration
public Output<bool?> FallbackToOndemand { get; }
Property Value
Type Description
Output<System.Nullable<System.Boolean>>
View Source

Gpu

Declaration
public Output<ImmutableArray<ElastigroupGpu>> Gpu { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<ElastigroupGpu>>
View Source

InstanceTypesCustoms

Declaration
public Output<ImmutableArray<ElastigroupInstanceTypesCustom>> InstanceTypesCustoms { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<ElastigroupInstanceTypesCustom>>
View Source

InstanceTypesOndemand

Declaration
public Output<string> InstanceTypesOndemand { get; }
Property Value
Type Description
Output<System.String>
View Source

InstanceTypesPreemptibles

Declaration
public Output<ImmutableArray<string>> InstanceTypesPreemptibles { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<System.String>>
View Source

IntegrationDockerSwarm

Declaration
public Output<ElastigroupIntegrationDockerSwarm> IntegrationDockerSwarm { get; }
Property Value
Type Description
Output<ElastigroupIntegrationDockerSwarm>
View Source

IntegrationGke

Declaration
public Output<ElastigroupIntegrationGke> IntegrationGke { get; }
Property Value
Type Description
Output<ElastigroupIntegrationGke>
View Source

IpForwarding

Declaration
public Output<bool?> IpForwarding { get; }
Property Value
Type Description
Output<System.Nullable<System.Boolean>>
View Source

Labels

Declaration
public Output<ImmutableArray<ElastigroupLabel>> Labels { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<ElastigroupLabel>>
View Source

MaxSize

Declaration
public Output<int> MaxSize { get; }
Property Value
Type Description
Output<System.Int32>
View Source

Metadatas

Declaration
public Output<ImmutableArray<ElastigroupMetadata>> Metadatas { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<ElastigroupMetadata>>
View Source

MinSize

Declaration
public Output<int> MinSize { get; }
Property Value
Type Description
Output<System.Int32>
View Source

Name

Declaration
public Output<string> Name { get; }
Property Value
Type Description
Output<System.String>
View Source

NetworkInterfaces

Declaration
public Output<ImmutableArray<ElastigroupNetworkInterface>> NetworkInterfaces { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<ElastigroupNetworkInterface>>
View Source

NodeImage

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

Declaration
public Output<string> NodeImage { get; }
Property Value
Type Description
Output<System.String>
View Source

OndemandCount

Declaration
public Output<int?> OndemandCount { get; }
Property Value
Type Description
Output<System.Nullable<System.Int32>>
View Source

PreemptiblePercentage

Declaration
public Output<int?> PreemptiblePercentage { get; }
Property Value
Type Description
Output<System.Nullable<System.Int32>>
View Source

ScalingDownPolicies

Declaration
public Output<ImmutableArray<ElastigroupScalingDownPolicy>> ScalingDownPolicies { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<ElastigroupScalingDownPolicy>>
View Source

ScalingUpPolicies

Declaration
public Output<ImmutableArray<ElastigroupScalingUpPolicy>> ScalingUpPolicies { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<ElastigroupScalingUpPolicy>>
View Source

ServiceAccount

Declaration
public Output<string> ServiceAccount { get; }
Property Value
Type Description
Output<System.String>
View Source

ShutdownScript

Declaration
public Output<string> ShutdownScript { get; }
Property Value
Type Description
Output<System.String>
View Source

StartupScript

Declaration
public Output<string> StartupScript { get; }
Property Value
Type Description
Output<System.String>
View Source

Tags

Declaration
public Output<ImmutableArray<string>> Tags { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<System.String>>

Methods

View Source

Get(String, Input<String>, ElastigroupState, CustomResourceOptions)

Get an existing Elastigroup resource's state with the given name, ID, and optional extra properties used to qualify the lookup.

Declaration
public static Elastigroup Get(string name, Input<string> id, ElastigroupState state = null, CustomResourceOptions options = null)
Parameters
Type Name Description
System.String name

The unique name of the resulting resource.

Input<System.String> id

The unique provider ID of the resource to lookup.

ElastigroupState state

Any extra arguments used during the lookup.

CustomResourceOptions options

A bag of options that control this resource's behavior

Returns
Type Description
Elastigroup
  • View Source
Back to top Copyright 2016-2020, Pulumi Corporation.