RosScalingGroup
This class is a base encapsulation around the ROS resource type ALIYUN::ESS::ScalingGroup, which is used to create a scaling group.
A scaling group can be a group of Elastic Compute Service (ECS) instances that are dynamically scaled based on the configured scenario. A scaling group does not immediately take effect after it is created. You must use ALIYUN::ESS::ScalingGroupEnable to enable the scaling group to trigger scaling activities based on scaling rules.
Initializers
import { RosScalingGroup } from '@alicloud/ros-cdk-ess'
new RosScalingGroup(scope: Construct, id: string, props: RosScalingGroupProps, enableResourcePropertyConstraint: boolean)
| Name | Type | Description |
|---|---|---|
scope |
@alicloud/ros-cdk-core.Construct |
- scope in which this resource is defined. |
id |
string |
- scoped id of the resource. |
props |
RosScalingGroupProps |
- resource properties. |
enableResourcePropertyConstraint |
boolean |
No description. |
scopeRequired
- Type: @alicloud/ros-cdk-core.Construct
scope in which this resource is defined.
idRequired
- Type: string
scoped id of the resource.
propsRequired
- Type: RosScalingGroupProps
resource properties.
enableResourcePropertyConstraintRequired
- Type: boolean
Methods
| Name | Description |
|---|---|
toString |
Returns a string representation of this construct. |
synthesize |
Allows this construct to emit artifacts into the cloud assembly during synthesis. |
overrideLogicalId |
Overrides the auto-generated logical ID with a specific ID. |
addCondition |
No description. |
addCount |
No description. |
addDeletionOverride |
Syntactic sugar for addOverride(path, undefined). |
addDependsOn |
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. |
addDesc |
No description. |
addMetaData |
No description. |
addOverride |
Adds an override to the synthesized ROS resource. |
addPropertyDeletionOverride |
Adds an override that deletes the value of a property from the resource definition. |
addPropertyOverride |
Adds an override to a resource property. |
addRosDependency |
No description. |
applyRemovalPolicy |
Sets the deletion policy of the resource based on the removal policy specified. |
getAtt |
Returns a token for an runtime attribute of this resource. |
toString
public toString(): string
Returns a string representation of this construct.
synthesize
public synthesize(session: ISynthesisSession): void
Allows this construct to emit artifacts into the cloud assembly during synthesis.
This method is usually implemented by framework-level constructs such as Stack and Asset
as they participate in synthesizing the cloud assembly.
- Type: @alicloud/ros-cdk-core.ISynthesisSession
The synthesis session.
overrideLogicalId
public overrideLogicalId(newLogicalId: string): void
Overrides the auto-generated logical ID with a specific ID.
- Type: string
The new logical ID to use for this stack element.
addCondition
public addCondition(con: RosCondition): void
- Type: @alicloud/ros-cdk-core.RosCondition
addCount
public addCount(count: number | IResolvable): void
- Type: number | @alicloud/ros-cdk-core.IResolvable
addDeletionOverride
public addDeletionOverride(path: string): void
Syntactic sugar for addOverride(path, undefined).
- Type: string
The path of the value to delete.
addDependsOn
public addDependsOn(target: RosResource): void
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.
- Type: @alicloud/ros-cdk-core.RosResource
addDesc
public addDesc(desc: string): void
- Type: string
addMetaData
public addMetaData(key: string, value: any): void
- Type: string
- Type: any
addOverride
public addOverride(path: string, value: any): void
Adds an override to the synthesized ROS resource.
To add a
property override, either use addPropertyOverride or prefix path with
"Properties." (i.e. Properties.TopicName).
If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.
For example,
addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute'])
addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE')
would add the overrides
"Properties": {
"GlobalSecondaryIndexes": [
{
"Projection": {
"NonKeyAttributes": [ "myattribute" ]
...
}
...
},
{
"ProjectionType": "INCLUDE"
...
},
]
...
}
- Type: string
The path of the property, you can use dot notation to override values in complex types.
Any intermdediate keys will be created as needed.
- Type: any
The value.
Could be primitive or complex.
addPropertyDeletionOverride
public addPropertyDeletionOverride(propertyPath: string): void
Adds an override that deletes the value of a property from the resource definition.
- Type: string
The path to the property.
addPropertyOverride
public addPropertyOverride(propertyPath: string, value: any): void
Adds an override to a resource property.
Syntactic sugar for addOverride("Properties.<...>", value).
- Type: string
The path of the property.
- Type: any
The value.
addRosDependency
public addRosDependency(target: string): void
- Type: string
applyRemovalPolicy
public applyRemovalPolicy(policy?: RemovalPolicy, options?: RemovalPolicyOptions): void
Sets the deletion policy of the resource based on the removal policy specified.
- Type: @alicloud/ros-cdk-core.RemovalPolicy
- Type: @alicloud/ros-cdk-core.RemovalPolicyOptions
getAtt
public getAtt(attributeName: string): Reference
Returns a token for an runtime attribute of this resource.
Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility
in case there is no generated attribute.
- Type: string
The name of the attribute.
Static Functions
| Name | Description |
|---|---|
isConstruct |
Return whether the given object is a Construct. |
isRosElement |
Returns true if a construct is a stack element (i.e. part of the synthesized template). |
isRosResource |
Check whether the given construct is a RosResource. |
isConstruct
import { RosScalingGroup } from '@alicloud/ros-cdk-ess'
RosScalingGroup.isConstruct(x: any)
Return whether the given object is a Construct.
- Type: any
isRosElement
import { RosScalingGroup } from '@alicloud/ros-cdk-ess'
RosScalingGroup.isRosElement(x: any)
Returns true if a construct is a stack element (i.e. part of the synthesized template).
Uses duck-typing instead of instanceof to allow stack elements from different
versions of this library to be included in the same stack.
- Type: any
isRosResource
import { RosScalingGroup } from '@alicloud/ros-cdk-ess'
RosScalingGroup.isRosResource(construct: IConstruct)
Check whether the given construct is a RosResource.
- Type: @alicloud/ros-cdk-core.IConstruct
Properties
| Name | Type | Description |
|---|---|---|
node |
@alicloud/ros-cdk-core.ConstructNode |
The construct tree node associated with this construct. |
creationStack |
string[] |
No description. |
logicalId |
string |
The logical ID for this stack element. |
stack |
@alicloud/ros-cdk-core.Stack |
The stack in which this element is defined. |
ref |
string |
Return a string that will be resolved to a RosTemplate { Ref } for this element. |
rosOptions |
@alicloud/ros-cdk-core.IRosResourceOptions |
Options for this resource, such as condition, update policy etc. |
rosResourceType |
string |
ROS resource type. |
attrScalingGroupId |
@alicloud/ros-cdk-core.IResolvable |
No description. |
attrScalingGroupName |
@alicloud/ros-cdk-core.IResolvable |
No description. |
enableResourcePropertyConstraint |
boolean |
No description. |
maxSize |
number | @alicloud/ros-cdk-core.IResolvable |
No description. |
minSize |
number | @alicloud/ros-cdk-core.IResolvable |
No description. |
allocationStrategy |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
azBalance |
boolean | @alicloud/ros-cdk-core.IResolvable |
No description. |
compensateWithOnDemand |
boolean | @alicloud/ros-cdk-core.IResolvable |
No description. |
containerGroupId |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
customPolicyArn |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
dbInstanceIds |
@alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[] |
No description. |
defaultCooldown |
number | @alicloud/ros-cdk-core.IResolvable |
No description. |
desiredCapacity |
number | @alicloud/ros-cdk-core.IResolvable |
No description. |
groupDeletionProtection |
boolean | @alicloud/ros-cdk-core.IResolvable |
No description. |
groupType |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
healthCheckType |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
instanceId |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
launchTemplateId |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
launchTemplateOverrides |
@alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | LaunchTemplateOverridesProperty[] |
No description. |
launchTemplateVersion |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
loadBalancerIds |
@alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[] |
No description. |
maxInstanceLifetime |
number | @alicloud/ros-cdk-core.IResolvable |
No description. |
multiAzPolicy |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
notificationConfigurations |
@alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | NotificationConfigurationsProperty[] |
No description. |
onDemandBaseCapacity |
number | @alicloud/ros-cdk-core.IResolvable |
No description. |
onDemandPercentageAboveBaseCapacity |
number | @alicloud/ros-cdk-core.IResolvable |
No description. |
protectedInstances |
@alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[] |
No description. |
removalPolicys |
@alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[] |
No description. |
resourceGroupId |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
scalingGroupName |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
scalingPolicy |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
serverGroups |
@alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | ServerGroupsProperty[] |
No description. |
spotAllocationStrategy |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
spotInstancePools |
number | @alicloud/ros-cdk-core.IResolvable |
No description. |
spotInstanceRemedy |
boolean | @alicloud/ros-cdk-core.IResolvable |
No description. |
standbyInstances |
@alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[] |
No description. |
tags |
TagsProperty[] |
No description. |
vSwitchId |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
vSwitchIds |
@alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[] |
No description. |
nodeRequired
public readonly node: ConstructNode;
- Type: @alicloud/ros-cdk-core.ConstructNode
The construct tree node associated with this construct.
creationStackRequired
public readonly creationStack: string[];
- Type: string[]
logicalIdRequired
public readonly logicalId: string;
- Type: string
The logical ID for this stack element.
The logical ID of the element is calculated from the path of the resource node in the construct tree.
To override this value, use overrideLogicalId(newLogicalId).
stackRequired
public readonly stack: Stack;
- Type: @alicloud/ros-cdk-core.Stack
The stack in which this element is defined.
RosElements must be defined within a stack scope (directly or indirectly).
refRequired
public readonly ref: string;
- Type: string
Return a string that will be resolved to a RosTemplate { Ref } for this element.
If, by any chance, the intrinsic reference of a resource is not a string, you could
coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).
rosOptionsRequired
public readonly rosOptions: IRosResourceOptions;
- Type: @alicloud/ros-cdk-core.IRosResourceOptions
Options for this resource, such as condition, update policy etc.
rosResourceTypeRequired
public readonly rosResourceType: string;
- Type: string
ROS resource type.
attrScalingGroupIdRequired
public readonly attrScalingGroupId: IResolvable;
- Type: @alicloud/ros-cdk-core.IResolvable
attrScalingGroupNameRequired
public readonly attrScalingGroupName: IResolvable;
- Type: @alicloud/ros-cdk-core.IResolvable
enableResourcePropertyConstraintRequired
public readonly enableResourcePropertyConstraint: boolean;
- Type: boolean
maxSizeRequired
public readonly maxSize: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
minSizeRequired
public readonly minSize: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
allocationStrategyOptional
public readonly allocationStrategy: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
azBalanceOptional
public readonly azBalance: boolean | IResolvable;
- Type: boolean | @alicloud/ros-cdk-core.IResolvable
compensateWithOnDemandOptional
public readonly compensateWithOnDemand: boolean | IResolvable;
- Type: boolean | @alicloud/ros-cdk-core.IResolvable
containerGroupIdOptional
public readonly containerGroupId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
customPolicyArnOptional
public readonly customPolicyArn: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
dbInstanceIdsOptional
public readonly dbInstanceIds: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
defaultCooldownOptional
public readonly defaultCooldown: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
desiredCapacityOptional
public readonly desiredCapacity: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
groupDeletionProtectionOptional
public readonly groupDeletionProtection: boolean | IResolvable;
- Type: boolean | @alicloud/ros-cdk-core.IResolvable
groupTypeOptional
public readonly groupType: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
healthCheckTypeOptional
public readonly healthCheckType: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
instanceIdOptional
public readonly instanceId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
launchTemplateIdOptional
public readonly launchTemplateId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
launchTemplateOverridesOptional
public readonly launchTemplateOverrides: IResolvable | IResolvable | LaunchTemplateOverridesProperty[];
- Type: @alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | LaunchTemplateOverridesProperty[]
launchTemplateVersionOptional
public readonly launchTemplateVersion: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
loadBalancerIdsOptional
public readonly loadBalancerIds: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
maxInstanceLifetimeOptional
public readonly maxInstanceLifetime: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
multiAzPolicyOptional
public readonly multiAzPolicy: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
notificationConfigurationsOptional
public readonly notificationConfigurations: IResolvable | IResolvable | NotificationConfigurationsProperty[];
- Type: @alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | NotificationConfigurationsProperty[]
onDemandBaseCapacityOptional
public readonly onDemandBaseCapacity: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
onDemandPercentageAboveBaseCapacityOptional
public readonly onDemandPercentageAboveBaseCapacity: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
protectedInstancesOptional
public readonly protectedInstances: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
removalPolicysOptional
public readonly removalPolicys: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
resourceGroupIdOptional
public readonly resourceGroupId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
scalingGroupNameOptional
public readonly scalingGroupName: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
scalingPolicyOptional
public readonly scalingPolicy: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
serverGroupsOptional
public readonly serverGroups: IResolvable | IResolvable | ServerGroupsProperty[];
- Type: @alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | ServerGroupsProperty[]
spotAllocationStrategyOptional
public readonly spotAllocationStrategy: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
spotInstancePoolsOptional
public readonly spotInstancePools: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
spotInstanceRemedyOptional
public readonly spotInstanceRemedy: boolean | IResolvable;
- Type: boolean | @alicloud/ros-cdk-core.IResolvable
standbyInstancesOptional
public readonly standbyInstances: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
tagsOptional
public readonly tags: TagsProperty[];
- Type: TagsProperty[]
vSwitchIdOptional
public readonly vSwitchId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
vSwitchIdsOptional
public readonly vSwitchIds: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
Constants
| Name | Type | Description |
|---|---|---|
ROS_RESOURCE_TYPE_NAME |
string |
The resource type name for this resource class. |
ROS_RESOURCE_TYPE_NAMERequired
public readonly ROS_RESOURCE_TYPE_NAME: string;
- Type: string
The resource type name for this resource class.