@Generated(value="jsii-pacmak/1.29.0 (build 41df200)", date="2021-06-02T09:55:01.091Z") @Stability(value=Experimental) public class AutoScalingGroup extends Resource implements ILoadBalancerTarget, IConnectable, IApplicationLoadBalancerTarget, INetworkLoadBalancerTarget, IAutoScalingGroup
The Fleet models a number of AutoScalingGroups, a launch configuration, a security group and an instance role.
It allows adding arbitrary commands to the startup scripts of the instances in the fleet.
The ASG spans the availability zones specified by vpcSubnets, falling back to the Vpc default strategy if not specified.
| Modifier and Type | Class and Description |
|---|---|
static class |
AutoScalingGroup.Builder
(experimental) A fluent builder for
AutoScalingGroup. |
software.amazon.jsii.JsiiObject.InitializationModeILoadBalancerTarget.Jsii$Default, ILoadBalancerTarget.Jsii$ProxyIApplicationLoadBalancerTarget.Jsii$Default, IApplicationLoadBalancerTarget.Jsii$ProxyINetworkLoadBalancerTarget.Jsii$Default, INetworkLoadBalancerTarget.Jsii$ProxyIAutoScalingGroup.Jsii$Default, IAutoScalingGroup.Jsii$Proxy| Modifier | Constructor and Description |
|---|---|
|
AutoScalingGroup(software.constructs.Construct scope,
String id,
AutoScalingGroupProps props) |
protected |
AutoScalingGroup(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
AutoScalingGroup(software.amazon.jsii.JsiiObjectRef objRef) |
| Modifier and Type | Method and Description |
|---|---|
LifecycleHook |
addLifecycleHook(String id,
BasicLifecycleHookProps props)
(experimental) Send a message to either an SQS queue or SNS topic when instances launch or terminate.
|
void |
addSecurityGroup(ISecurityGroup securityGroup)
(experimental) Add the security group to all instances via the launch configuration security groups array.
|
void |
addToRolePolicy(PolicyStatement statement)
(experimental) Adds a statement to the IAM role assumed by instances of this fleet.
|
void |
addUserData(String... commands)
(experimental) Add command to the startup script of fleet instances.
|
void |
applyCloudFormationInit(CloudFormationInit init)
(experimental) Use a CloudFormation Init configuration at instance startup.
|
void |
applyCloudFormationInit(CloudFormationInit init,
ApplyCloudFormationInitOptions options)
(experimental) Use a CloudFormation Init configuration at instance startup.
|
Boolean |
areNewInstancesProtectedFromScaleIn()
(experimental) Returns `true` if newly-launched instances are protected from scale-in.
|
LoadBalancerTargetProps |
attachToApplicationTargetGroup(IApplicationTargetGroup targetGroup)
(experimental) Attach to ELBv2 Application Target Group.
|
void |
attachToClassicLB(LoadBalancer loadBalancer)
(experimental) Attach to a classic load balancer.
|
LoadBalancerTargetProps |
attachToNetworkTargetGroup(INetworkTargetGroup targetGroup)
(experimental) Attach to ELBv2 Application Target Group.
|
static IAutoScalingGroup |
fromAutoScalingGroupName(software.constructs.Construct scope,
String id,
String autoScalingGroupName) |
protected ApplicationTargetGroup |
getAlbTargetGroup() |
String |
getAutoScalingGroupArn()
(experimental) Arn of the AutoScalingGroup.
|
String |
getAutoScalingGroupName()
(experimental) Name of the AutoScalingGroup.
|
Connections |
getConnections()
(experimental) Allows specify security group connections for instances of this fleet.
|
IPrincipal |
getGrantPrincipal()
(experimental) The principal to grant permissions to.
|
Duration |
getMaxInstanceLifetime()
(experimental) The maximum amount of time that an instance can be in service.
|
protected Boolean |
getNewInstancesProtectedFromScaleIn() |
OperatingSystemType |
getOsType()
(experimental) The type of OS instances of this fleet are running.
|
IRole |
getRole()
(experimental) The IAM role assumed by instances of this fleet.
|
String |
getSpotPrice()
(experimental) The maximum spot price configured for the autoscaling group.
|
UserData |
getUserData()
(experimental) UserData for the instances.
|
void |
protectNewInstancesFromScaleIn()
(experimental) Ensures newly-launched instances are protected from scale-in.
|
TargetTrackingScalingPolicy |
scaleOnCpuUtilization(String id,
CpuUtilizationScalingProps props)
(experimental) Scale out or in to achieve a target CPU utilization.
|
TargetTrackingScalingPolicy |
scaleOnIncomingBytes(String id,
NetworkUtilizationScalingProps props)
(experimental) Scale out or in to achieve a target network ingress rate.
|
StepScalingPolicy |
scaleOnMetric(String id,
BasicStepScalingPolicyProps props)
(experimental) Scale out or in, in response to a metric.
|
TargetTrackingScalingPolicy |
scaleOnOutgoingBytes(String id,
NetworkUtilizationScalingProps props)
(experimental) Scale out or in to achieve a target network egress rate.
|
TargetTrackingScalingPolicy |
scaleOnRequestCount(String id,
RequestCountScalingProps props)
(experimental) Scale out or in to achieve a target request handling rate.
|
ScheduledAction |
scaleOnSchedule(String id,
BasicScheduledActionProps props)
(experimental) Scale out or in based on time.
|
TargetTrackingScalingPolicy |
scaleToTrackMetric(String id,
MetricTargetTrackingProps props)
(experimental) Scale out or in in order to keep a metric around a target value.
|
protected void |
setAlbTargetGroup(ApplicationTargetGroup value) |
protected void |
setNewInstancesProtectedFromScaleIn(Boolean value) |
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isResourcejsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetprotected AutoScalingGroup(software.amazon.jsii.JsiiObjectRef objRef)
protected AutoScalingGroup(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
@Stability(value=Experimental)
public AutoScalingGroup(@NotNull
software.constructs.Construct scope,
@NotNull
String id,
@NotNull
AutoScalingGroupProps props)
scope - This parameter is required.id - This parameter is required.props - This parameter is required.@Stability(value=Experimental) @NotNull public static IAutoScalingGroup fromAutoScalingGroupName(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String autoScalingGroupName)
scope - This parameter is required.id - This parameter is required.autoScalingGroupName - This parameter is required.@Stability(value=Experimental) @NotNull public LifecycleHook addLifecycleHook(@NotNull String id, @NotNull BasicLifecycleHookProps props)
addLifecycleHook in interface IAutoScalingGroupid - This parameter is required.props - This parameter is required.@Stability(value=Experimental)
public void addSecurityGroup(@NotNull
ISecurityGroup securityGroup)
securityGroup - : The security group to add. This parameter is required.@Stability(value=Experimental)
public void addToRolePolicy(@NotNull
PolicyStatement statement)
statement - This parameter is required.@Stability(value=Experimental)
public void addUserData(@NotNull
String... commands)
The command must be in the scripting language supported by the fleet's OS (i.e. Linux/Windows). Does nothing for imported ASGs.
addUserData in interface IAutoScalingGroupcommands - This parameter is required.@Stability(value=Experimental)
public void applyCloudFormationInit(@NotNull
CloudFormationInit init,
@Nullable
ApplyCloudFormationInitOptions options)
This does the following:
cfn-init and cfn-signal.cfn-init to finish
before reporting success.init - This parameter is required.options - @Stability(value=Experimental)
public void applyCloudFormationInit(@NotNull
CloudFormationInit init)
This does the following:
cfn-init and cfn-signal.cfn-init to finish
before reporting success.init - This parameter is required.@Stability(value=Experimental) @NotNull public Boolean areNewInstancesProtectedFromScaleIn()
@Stability(value=Experimental) @NotNull public LoadBalancerTargetProps attachToApplicationTargetGroup(@NotNull IApplicationTargetGroup targetGroup)
attachToApplicationTargetGroup in interface IApplicationLoadBalancerTargettargetGroup - This parameter is required.@Stability(value=Experimental)
public void attachToClassicLB(@NotNull
LoadBalancer loadBalancer)
attachToClassicLB in interface ILoadBalancerTargetloadBalancer - This parameter is required.@Stability(value=Experimental) @NotNull public LoadBalancerTargetProps attachToNetworkTargetGroup(@NotNull INetworkTargetGroup targetGroup)
attachToNetworkTargetGroup in interface INetworkLoadBalancerTargettargetGroup - This parameter is required.@Stability(value=Experimental) public void protectNewInstancesFromScaleIn()
@Stability(value=Experimental) @NotNull public TargetTrackingScalingPolicy scaleOnCpuUtilization(@NotNull String id, @NotNull CpuUtilizationScalingProps props)
scaleOnCpuUtilization in interface IAutoScalingGroupid - This parameter is required.props - This parameter is required.@Stability(value=Experimental) @NotNull public TargetTrackingScalingPolicy scaleOnIncomingBytes(@NotNull String id, @NotNull NetworkUtilizationScalingProps props)
scaleOnIncomingBytes in interface IAutoScalingGroupid - This parameter is required.props - This parameter is required.@Stability(value=Experimental) @NotNull public StepScalingPolicy scaleOnMetric(@NotNull String id, @NotNull BasicStepScalingPolicyProps props)
scaleOnMetric in interface IAutoScalingGroupid - This parameter is required.props - This parameter is required.@Stability(value=Experimental) @NotNull public TargetTrackingScalingPolicy scaleOnOutgoingBytes(@NotNull String id, @NotNull NetworkUtilizationScalingProps props)
scaleOnOutgoingBytes in interface IAutoScalingGroupid - This parameter is required.props - This parameter is required.@Stability(value=Experimental) @NotNull public TargetTrackingScalingPolicy scaleOnRequestCount(@NotNull String id, @NotNull RequestCountScalingProps props)
The AutoScalingGroup must have been attached to an Application Load Balancer in order to be able to call this.
id - This parameter is required.props - This parameter is required.@Stability(value=Experimental) @NotNull public ScheduledAction scaleOnSchedule(@NotNull String id, @NotNull BasicScheduledActionProps props)
scaleOnSchedule in interface IAutoScalingGroupid - This parameter is required.props - This parameter is required.@Stability(value=Experimental) @NotNull public TargetTrackingScalingPolicy scaleToTrackMetric(@NotNull String id, @NotNull MetricTargetTrackingProps props)
scaleToTrackMetric in interface IAutoScalingGroupid - This parameter is required.props - This parameter is required.@Stability(value=Experimental) @NotNull public String getAutoScalingGroupArn()
getAutoScalingGroupArn in interface IAutoScalingGroup@Stability(value=Experimental) @NotNull public String getAutoScalingGroupName()
getAutoScalingGroupName in interface IAutoScalingGroup@Stability(value=Experimental) @NotNull public Connections getConnections()
getConnections in interface IConnectable@Stability(value=Experimental) @NotNull public IPrincipal getGrantPrincipal()
getGrantPrincipal in interface IGrantable@Stability(value=Experimental) @NotNull public OperatingSystemType getOsType()
getOsType in interface IAutoScalingGroup@Stability(value=Experimental) @NotNull public IRole getRole()
@Stability(value=Experimental) @NotNull public UserData getUserData()
@Stability(value=Experimental) @Nullable public Duration getMaxInstanceLifetime()
@Stability(value=Experimental) @Nullable public String getSpotPrice()
undefined
indicates that this group uses on-demand capacity.
@Stability(value=Experimental) @Nullable protected ApplicationTargetGroup getAlbTargetGroup()
@Stability(value=Experimental)
protected void setAlbTargetGroup(@Nullable
ApplicationTargetGroup value)
@Stability(value=Experimental) @Nullable protected Boolean getNewInstancesProtectedFromScaleIn()
@Stability(value=Experimental)
protected void setNewInstancesProtectedFromScaleIn(@Nullable
Boolean value)
Copyright © 2021. All rights reserved.