Region Autoscaler Args
data class RegionAutoscalerArgs(val autoscalingPolicy: Output<RegionAutoscalerAutoscalingPolicyArgs>? = null, val description: Output<String>? = null, val name: Output<String>? = null, val project: Output<String>? = null, val region: Output<String>? = null, val target: Output<String>? = null) : ConvertibleToJava<RegionAutoscalerArgs>
Represents an Autoscaler resource. Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define. To get more information about RegionAutoscaler, see:
How-to Guides
Example Usage
Region Autoscaler Basic
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.InstanceTemplate;
import com.pulumi.gcp.compute.InstanceTemplateArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateNetworkInterfaceArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateServiceAccountArgs;
import com.pulumi.gcp.compute.TargetPool;
import com.pulumi.gcp.compute.RegionInstanceGroupManager;
import com.pulumi.gcp.compute.RegionInstanceGroupManagerArgs;
import com.pulumi.gcp.compute.inputs.RegionInstanceGroupManagerVersionArgs;
import com.pulumi.gcp.compute.RegionAutoscaler;
import com.pulumi.gcp.compute.RegionAutoscalerArgs;
import com.pulumi.gcp.compute.inputs.RegionAutoscalerAutoscalingPolicyArgs;
import com.pulumi.gcp.compute.inputs.RegionAutoscalerAutoscalingPolicyCpuUtilizationArgs;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetImageArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var foobarInstanceTemplate = new InstanceTemplate("foobarInstanceTemplate", InstanceTemplateArgs.builder()
.machineType("e2-standard-4")
.disks(InstanceTemplateDiskArgs.builder()
.sourceImage("debian-cloud/debian-11")
.diskSizeGb(250)
.build())
.networkInterfaces(InstanceTemplateNetworkInterfaceArgs.builder()
.network("default")
.accessConfigs(InstanceTemplateNetworkInterfaceAccessConfigArgs.builder()
.networkTier("PREMIUM")
.build())
.build())
.serviceAccount(InstanceTemplateServiceAccountArgs.builder()
.scopes(
"https://www.googleapis.com/auth/devstorage.read_only",
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring.write",
"https://www.googleapis.com/auth/pubsub",
"https://www.googleapis.com/auth/service.management.readonly",
"https://www.googleapis.com/auth/servicecontrol",
"https://www.googleapis.com/auth/trace.append")
.build())
.build());
var foobarTargetPool = new TargetPool("foobarTargetPool");
var foobarRegionInstanceGroupManager = new RegionInstanceGroupManager("foobarRegionInstanceGroupManager", RegionInstanceGroupManagerArgs.builder()
.region("us-central1")
.versions(RegionInstanceGroupManagerVersionArgs.builder()
.instanceTemplate(foobarInstanceTemplate.id())
.name("primary")
.build())
.targetPools(foobarTargetPool.id())
.baseInstanceName("foobar")
.build());
var foobarRegionAutoscaler = new RegionAutoscaler("foobarRegionAutoscaler", RegionAutoscalerArgs.builder()
.region("us-central1")
.target(foobarRegionInstanceGroupManager.id())
.autoscalingPolicy(RegionAutoscalerAutoscalingPolicyArgs.builder()
.maxReplicas(5)
.minReplicas(1)
.cooldownPeriod(60)
.cpuUtilization(RegionAutoscalerAutoscalingPolicyCpuUtilizationArgs.builder()
.target(0.5)
.build())
.build())
.build());
final var debian9 = ComputeFunctions.getImage(GetImageArgs.builder()
.family("debian-11")
.project("debian-cloud")
.build());
}
}
Content copied to clipboard
Import
RegionAutoscaler can be imported using any of these accepted formats
$ pulumi import gcp:compute/regionAutoscaler:RegionAutoscaler default projects/{{project}}/regions/{{region}}/autoscalers/{{name}}
Content copied to clipboard
$ pulumi import gcp:compute/regionAutoscaler:RegionAutoscaler default {{project}}/{{region}}/{{name}}
Content copied to clipboard
$ pulumi import gcp:compute/regionAutoscaler:RegionAutoscaler default {{region}}/{{name}}
Content copied to clipboard
$ pulumi import gcp:compute/regionAutoscaler:RegionAutoscaler default {{name}}
Content copied to clipboard
Constructors
Link copied to clipboard
fun RegionAutoscalerArgs(autoscalingPolicy: Output<RegionAutoscalerAutoscalingPolicyArgs>? = null, description: Output<String>? = null, name: Output<String>? = null, project: Output<String>? = null, region: Output<String>? = null, target: Output<String>? = null)
Functions
Properties
Link copied to clipboard
The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%. Structure is documented below.
Link copied to clipboard