Skip to content

RosInstance

This class is a base encapsulation around the ROS resource type ALIYUN::ECS::Instance, which is used to create an Elastic Compute Service (ECS) instance.

Initializers

import { RosInstance } from '@alicloud/ros-cdk-ecs'
new RosInstance(scope: Construct, id: string, props: RosInstanceProps, 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 RosInstanceProps - 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

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.

sessionRequired

  • 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.

newLogicalIdRequired

  • Type: string

The new logical ID to use for this stack element.


addCondition

public addCondition(con: RosCondition): void

conRequired

  • Type: @alicloud/ros-cdk-core.RosCondition

addCount

public addCount(count: number | IResolvable): void

countRequired

  • Type: number | @alicloud/ros-cdk-core.IResolvable

addDeletionOverride

public addDeletionOverride(path: string): void

Syntactic sugar for addOverride(path, undefined).

pathRequired

  • 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.

targetRequired

  • Type: @alicloud/ros-cdk-core.RosResource

addDesc

public addDesc(desc: string): void

descRequired

  • Type: string

addMetaData

public addMetaData(key: string, value: any): void

keyRequired

  • Type: string

valueRequired

  • 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"
       ...
     },
   ]
   ...
}

pathRequired

  • 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.


valueRequired

  • 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.

propertyPathRequired

  • 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).

propertyPathRequired

  • Type: string

The path of the property.


valueRequired

  • Type: any

The value.


addRosDependency

public addRosDependency(target: string): void

targetRequired

  • Type: string

applyRemovalPolicy

public applyRemovalPolicy(policy?: RemovalPolicy, options?: RemovalPolicyOptions): void

Sets the deletion policy of the resource based on the removal policy specified.

policyOptional

  • Type: @alicloud/ros-cdk-core.RemovalPolicy

optionsOptional

  • 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.

attributeNameRequired

  • 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 { RosInstance } from '@alicloud/ros-cdk-ecs'
RosInstance.isConstruct(x: any)

Return whether the given object is a Construct.

xRequired

  • Type: any

isRosElement

import { RosInstance } from '@alicloud/ros-cdk-ecs'
RosInstance.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.

xRequired

  • Type: any

isRosResource

import { RosInstance } from '@alicloud/ros-cdk-ecs'
RosInstance.isRosResource(construct: IConstruct)

Check whether the given construct is a RosResource.

constructRequired

  • 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.
attrHostName @alicloud/ros-cdk-core.IResolvable No description.
attrInnerIp @alicloud/ros-cdk-core.IResolvable No description.
attrInstanceId @alicloud/ros-cdk-core.IResolvable No description.
attrPrimaryNetworkInterfaceId @alicloud/ros-cdk-core.IResolvable No description.
attrPrivateIp @alicloud/ros-cdk-core.IResolvable No description.
attrPublicIp @alicloud/ros-cdk-core.IResolvable No description.
attrSecurityGroupIds @alicloud/ros-cdk-core.IResolvable No description.
attrZoneId @alicloud/ros-cdk-core.IResolvable No description.
enableResourcePropertyConstraint boolean No description.
instanceType string | @alicloud/ros-cdk-core.IResolvable No description.
affinity string | @alicloud/ros-cdk-core.IResolvable No description.
allocatePublicIp boolean | @alicloud/ros-cdk-core.IResolvable No description.
autoRenew string | @alicloud/ros-cdk-core.IResolvable No description.
autoRenewPeriod number | @alicloud/ros-cdk-core.IResolvable No description.
creditSpecification string | @alicloud/ros-cdk-core.IResolvable No description.
dedicatedHostId string | @alicloud/ros-cdk-core.IResolvable No description.
deletionProtection boolean | @alicloud/ros-cdk-core.IResolvable No description.
deploymentSetGroupNo number | @alicloud/ros-cdk-core.IResolvable No description.
deploymentSetId string | @alicloud/ros-cdk-core.IResolvable No description.
description string | @alicloud/ros-cdk-core.IResolvable No description.
diskMappings @alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | DiskMappingsProperty[] No description.
hostName string | @alicloud/ros-cdk-core.IResolvable No description.
hpcClusterId string | @alicloud/ros-cdk-core.IResolvable No description.
httpEndpoint string | @alicloud/ros-cdk-core.IResolvable No description.
httpTokens string | @alicloud/ros-cdk-core.IResolvable No description.
imageFamily string | @alicloud/ros-cdk-core.IResolvable No description.
imageId string | @alicloud/ros-cdk-core.IResolvable No description.
instanceChargeType string | @alicloud/ros-cdk-core.IResolvable No description.
instanceName string | @alicloud/ros-cdk-core.IResolvable No description.
internetChargeType string | @alicloud/ros-cdk-core.IResolvable No description.
internetMaxBandwidthOut number | @alicloud/ros-cdk-core.IResolvable No description.
ioOptimized string | @alicloud/ros-cdk-core.IResolvable No description.
keyPairName string | @alicloud/ros-cdk-core.IResolvable No description.
password string | @alicloud/ros-cdk-core.IResolvable No description.
passwordInherit boolean | @alicloud/ros-cdk-core.IResolvable No description.
period number | @alicloud/ros-cdk-core.IResolvable No description.
periodUnit string | @alicloud/ros-cdk-core.IResolvable No description.
privateIpAddress string | @alicloud/ros-cdk-core.IResolvable No description.
privatePoolOptions @alicloud/ros-cdk-core.IResolvable | PrivatePoolOptionsProperty No description.
ramRoleName string | @alicloud/ros-cdk-core.IResolvable No description.
resourceGroupId string | @alicloud/ros-cdk-core.IResolvable No description.
securityEnhancementStrategy string | @alicloud/ros-cdk-core.IResolvable No description.
securityGroupId string | @alicloud/ros-cdk-core.IResolvable No description.
securityGroupIds @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[] No description.
spotDuration number | @alicloud/ros-cdk-core.IResolvable No description.
spotInterruptionBehavior string | @alicloud/ros-cdk-core.IResolvable No description.
spotPriceLimit string | @alicloud/ros-cdk-core.IResolvable No description.
spotStrategy string | @alicloud/ros-cdk-core.IResolvable No description.
storageSetId string | @alicloud/ros-cdk-core.IResolvable No description.
storageSetPartitionNumber number | @alicloud/ros-cdk-core.IResolvable No description.
systemDiskCategory string | @alicloud/ros-cdk-core.IResolvable No description.
systemDiskDescription string | @alicloud/ros-cdk-core.IResolvable No description.
systemDiskDiskName string | @alicloud/ros-cdk-core.IResolvable No description.
systemDiskPerformanceLevel string | @alicloud/ros-cdk-core.IResolvable No description.
systemDiskSize number | @alicloud/ros-cdk-core.IResolvable No description.
tags TagsProperty[] No description.
tenancy string | @alicloud/ros-cdk-core.IResolvable No description.
useAdditionalService boolean | @alicloud/ros-cdk-core.IResolvable No description.
userData string | @alicloud/ros-cdk-core.IResolvable No description.
vpcId string | @alicloud/ros-cdk-core.IResolvable No description.
vSwitchId string | @alicloud/ros-cdk-core.IResolvable No description.
zoneId string | @alicloud/ros-cdk-core.IResolvable No description.
zoneIds @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.


attrHostNameRequired

public readonly attrHostName: IResolvable;
  • Type: @alicloud/ros-cdk-core.IResolvable

attrInnerIpRequired

public readonly attrInnerIp: IResolvable;
  • Type: @alicloud/ros-cdk-core.IResolvable

attrInstanceIdRequired

public readonly attrInstanceId: IResolvable;
  • Type: @alicloud/ros-cdk-core.IResolvable

attrPrimaryNetworkInterfaceIdRequired

public readonly attrPrimaryNetworkInterfaceId: IResolvable;
  • Type: @alicloud/ros-cdk-core.IResolvable

attrPrivateIpRequired

public readonly attrPrivateIp: IResolvable;
  • Type: @alicloud/ros-cdk-core.IResolvable

attrPublicIpRequired

public readonly attrPublicIp: IResolvable;
  • Type: @alicloud/ros-cdk-core.IResolvable

attrSecurityGroupIdsRequired

public readonly attrSecurityGroupIds: IResolvable;
  • Type: @alicloud/ros-cdk-core.IResolvable

attrZoneIdRequired

public readonly attrZoneId: IResolvable;
  • Type: @alicloud/ros-cdk-core.IResolvable

enableResourcePropertyConstraintRequired

public readonly enableResourcePropertyConstraint: boolean;
  • Type: boolean

instanceTypeRequired

public readonly instanceType: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

affinityOptional

public readonly affinity: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

allocatePublicIpOptional

public readonly allocatePublicIp: boolean | IResolvable;
  • Type: boolean | @alicloud/ros-cdk-core.IResolvable

autoRenewOptional

public readonly autoRenew: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

autoRenewPeriodOptional

public readonly autoRenewPeriod: number | IResolvable;
  • Type: number | @alicloud/ros-cdk-core.IResolvable

creditSpecificationOptional

public readonly creditSpecification: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

dedicatedHostIdOptional

public readonly dedicatedHostId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

deletionProtectionOptional

public readonly deletionProtection: boolean | IResolvable;
  • Type: boolean | @alicloud/ros-cdk-core.IResolvable

deploymentSetGroupNoOptional

public readonly deploymentSetGroupNo: number | IResolvable;
  • Type: number | @alicloud/ros-cdk-core.IResolvable

deploymentSetIdOptional

public readonly deploymentSetId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

descriptionOptional

public readonly description: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

diskMappingsOptional

public readonly diskMappings: IResolvable | IResolvable | DiskMappingsProperty[];
  • Type: @alicloud/ros-cdk-core.IResolvable | @alicloud/ros-cdk-core.IResolvable | DiskMappingsProperty[]

hostNameOptional

public readonly hostName: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

hpcClusterIdOptional

public readonly hpcClusterId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

httpEndpointOptional

public readonly httpEndpoint: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

httpTokensOptional

public readonly httpTokens: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

imageFamilyOptional

public readonly imageFamily: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

imageIdOptional

public readonly imageId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

instanceChargeTypeOptional

public readonly instanceChargeType: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

instanceNameOptional

public readonly instanceName: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

internetChargeTypeOptional

public readonly internetChargeType: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

internetMaxBandwidthOutOptional

public readonly internetMaxBandwidthOut: number | IResolvable;
  • Type: number | @alicloud/ros-cdk-core.IResolvable

ioOptimizedOptional

public readonly ioOptimized: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

keyPairNameOptional

public readonly keyPairName: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

passwordOptional

public readonly password: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

passwordInheritOptional

public readonly passwordInherit: boolean | IResolvable;
  • Type: boolean | @alicloud/ros-cdk-core.IResolvable

periodOptional

public readonly period: number | IResolvable;
  • Type: number | @alicloud/ros-cdk-core.IResolvable

periodUnitOptional

public readonly periodUnit: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

privateIpAddressOptional

public readonly privateIpAddress: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

privatePoolOptionsOptional

public readonly privatePoolOptions: IResolvable | PrivatePoolOptionsProperty;

ramRoleNameOptional

public readonly ramRoleName: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

resourceGroupIdOptional

public readonly resourceGroupId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

securityEnhancementStrategyOptional

public readonly securityEnhancementStrategy: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

securityGroupIdOptional

public readonly securityGroupId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

securityGroupIdsOptional

public readonly securityGroupIds: IResolvable | string | IResolvable[];
  • Type: @alicloud/ros-cdk-core.IResolvable | string | @alicloud/ros-cdk-core.IResolvable[]

spotDurationOptional

public readonly spotDuration: number | IResolvable;
  • Type: number | @alicloud/ros-cdk-core.IResolvable

spotInterruptionBehaviorOptional

public readonly spotInterruptionBehavior: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

spotPriceLimitOptional

public readonly spotPriceLimit: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

spotStrategyOptional

public readonly spotStrategy: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

storageSetIdOptional

public readonly storageSetId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

storageSetPartitionNumberOptional

public readonly storageSetPartitionNumber: number | IResolvable;
  • Type: number | @alicloud/ros-cdk-core.IResolvable

systemDiskCategoryOptional

public readonly systemDiskCategory: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

systemDiskDescriptionOptional

public readonly systemDiskDescription: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

systemDiskDiskNameOptional

public readonly systemDiskDiskName: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

systemDiskPerformanceLevelOptional

public readonly systemDiskPerformanceLevel: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

systemDiskSizeOptional

public readonly systemDiskSize: number | IResolvable;
  • Type: number | @alicloud/ros-cdk-core.IResolvable

tagsOptional

public readonly tags: TagsProperty[];

tenancyOptional

public readonly tenancy: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

useAdditionalServiceOptional

public readonly useAdditionalService: boolean | IResolvable;
  • Type: boolean | @alicloud/ros-cdk-core.IResolvable

userDataOptional

public readonly userData: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

vpcIdOptional

public readonly vpcId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

vSwitchIdOptional

public readonly vSwitchId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

zoneIdOptional

public readonly zoneId: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

zoneIdsOptional

public readonly zoneIds: 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.