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 is 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 and execute 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. |
scope
Required
- Type: @alicloud/ros-cdk-core.Construct
scope in which this resource is defined.
id
Required
- Type: string
scoped id of the resource.
props
Required
- Type: RosScalingGroupProps
resource properties.
enableResourcePropertyConstraint
Required
- 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. |
node
Required
public readonly node: ConstructNode;
- Type: @alicloud/ros-cdk-core.ConstructNode
The construct tree node associated with this construct.
creationStack
Required
public readonly creationStack: string[];
- Type: string[]
logicalId
Required
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)
.
stack
Required
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).
ref
Required
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 })
.
rosOptions
Required
public readonly rosOptions: IRosResourceOptions;
- Type: @alicloud/ros-cdk-core.IRosResourceOptions
Options for this resource, such as condition, update policy etc.
rosResourceType
Required
public readonly rosResourceType: string;
- Type: string
ROS resource type.
attrScalingGroupId
Required
public readonly attrScalingGroupId: IResolvable;
- Type: @alicloud/ros-cdk-core.IResolvable
attrScalingGroupName
Required
public readonly attrScalingGroupName: IResolvable;
- Type: @alicloud/ros-cdk-core.IResolvable
enableResourcePropertyConstraint
Required
public readonly enableResourcePropertyConstraint: boolean;
- Type: boolean
maxSize
Required
public readonly maxSize: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
minSize
Required
public readonly minSize: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
allocationStrategy
Optional
public readonly allocationStrategy: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
azBalance
Optional
public readonly azBalance: boolean | IResolvable;
- Type: boolean | @alicloud/ros-cdk-core.IResolvable
compensateWithOnDemand
Optional
public readonly compensateWithOnDemand: boolean | IResolvable;
- Type: boolean | @alicloud/ros-cdk-core.IResolvable
containerGroupId
Optional
public readonly containerGroupId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
customPolicyArn
Optional
public readonly customPolicyArn: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
dbInstanceIds
Optional
public readonly dbInstanceIds: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
defaultCooldown
Optional
public readonly defaultCooldown: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
desiredCapacity
Optional
public readonly desiredCapacity: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
groupDeletionProtection
Optional
public readonly groupDeletionProtection: boolean | IResolvable;
- Type: boolean | @alicloud/ros-cdk-core.IResolvable
groupType
Optional
public readonly groupType: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
healthCheckType
Optional
public readonly healthCheckType: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
instanceId
Optional
public readonly instanceId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
launchTemplateId
Optional
public readonly launchTemplateId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
launchTemplateOverrides
Optional
public readonly launchTemplateOverrides: IResolvable | IResolvable | LaunchTemplateOverridesProperty[];
- Type: @alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | LaunchTemplateOverridesProperty[]
launchTemplateVersion
Optional
public readonly launchTemplateVersion: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
loadBalancerIds
Optional
public readonly loadBalancerIds: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
maxInstanceLifetime
Optional
public readonly maxInstanceLifetime: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
multiAzPolicy
Optional
public readonly multiAzPolicy: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
notificationConfigurations
Optional
public readonly notificationConfigurations: IResolvable | IResolvable | NotificationConfigurationsProperty[];
- Type: @alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | NotificationConfigurationsProperty[]
onDemandBaseCapacity
Optional
public readonly onDemandBaseCapacity: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
onDemandPercentageAboveBaseCapacity
Optional
public readonly onDemandPercentageAboveBaseCapacity: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
protectedInstances
Optional
public readonly protectedInstances: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
removalPolicys
Optional
public readonly removalPolicys: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
resourceGroupId
Optional
public readonly resourceGroupId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
scalingGroupName
Optional
public readonly scalingGroupName: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
scalingPolicy
Optional
public readonly scalingPolicy: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
serverGroups
Optional
public readonly serverGroups: IResolvable | IResolvable | ServerGroupsProperty[];
- Type: @alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | ServerGroupsProperty[]
spotAllocationStrategy
Optional
public readonly spotAllocationStrategy: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
spotInstancePools
Optional
public readonly spotInstancePools: number | IResolvable;
- Type: number | @alicloud/ros-cdk-core.IResolvable
spotInstanceRemedy
Optional
public readonly spotInstanceRemedy: boolean | IResolvable;
- Type: boolean | @alicloud/ros-cdk-core.IResolvable
standbyInstances
Optional
public readonly standbyInstances: IResolvable | string | IResolvable[];
- Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]
tags
Optional
public readonly tags: TagsProperty[];
- Type: TagsProperty[]
vSwitchId
Optional
public readonly vSwitchId: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
vSwitchIds
Optional
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_NAME
Required
public readonly ROS_RESOURCE_TYPE_NAME: string;
- Type: string
The resource type name for this resource class.