VServerGroup
- Implements: IVServerGroup
This class encapsulates and extends the ROS resource type ALIYUN::SLB::VServerGroup, which is used to create a server group and attach backend servers to a Server Load Balancer (SLB) instance.
Initializers
import com.aliyun.ros.cdk.slb.VServerGroup;
VServerGroup.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
.loadBalancerId(java.lang.String)
.loadBalancerId(IResolvable)
.vServerGroupName(java.lang.String)
.vServerGroupName(IResolvable)
// .backendServers(IResolvable)
// .backendServers(java.util.List<IResolvable)
// .backendServers(BackendServersProperty>)
// .tags(java.util.List<TagsProperty>)
.build();
| Name | Type | Description |
|---|---|---|
scope | com.aliyun.ros.cdk.core.Construct | No description. |
id | java.lang.String | No description. |
enableResourcePropertyConstraint | java.lang.Boolean | No description. |
loadBalancerId | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property loadBalancerId: The id of load balancer. |
vServerGroupName | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property vServerGroupName: The name of the vServer group. |
backendServers | com.aliyun.ros.cdk.core.IResolvable OR java.util.List | Property backendServers: The backend servers that you want to add. |
tags | java.util.List<TagsProperty> | Property tags: Tags to attach to instance. |
scopeRequired
- Type: com.aliyun.ros.cdk.core.Construct
idRequired
- Type: java.lang.String
enableResourcePropertyConstraintOptional
- Type: java.lang.Boolean
loadBalancerIdRequired
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property loadBalancerId: The id of load balancer.
vServerGroupNameRequired
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property vServerGroupName: The name of the vServer group.
The name must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.),and underscores (_).
backendServersOptional
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
BackendServersProperty>
Property backendServers: The backend servers that you want to add.
Configure the following parameters:
- ServerId: required. The ID of the backend server. Specify the ID in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set ServerId to the ID of an ENI or an elastic container instance, you must configure the Type parameter.
- Weight: the weight of the backend server. Valid values: 0 to 100. Default value: 100. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.
- Description: optional. The description of the backend server. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (_).
- Type: the type of the backend server. Valid values:
- ecs (default): ECS instance
- eni: ENI.
- eni: elastic container instance.
You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.
- ServerIp: The IP address of the ECS instance or ENI.
- Port: the backend port. Examples:
- Add an ECS instance:
[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }] - Add an ENI:
[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168..", "Port":"80","Description":"test-112" }] - Add an ENI with multiple IP addresses:
[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168..", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166..", "Port":"80","Description":"test-113" }] - Add an elastic container instance:
[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168..", "Port":"80","Description":"test-114" }]
You can add only running backend servers to SLB instances. You can specify at most 20 backend servers.
tagsOptional
- Type: java.util.List<TagsProperty>
Property tags: Tags to attach to instance.
Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
Methods
| Name | Description |
|---|---|
toString | Returns a string representation of this construct. |
synthesize | Allows this construct to emit artifacts into the cloud assembly during synthesis. |
addCondition | No description. |
addCount | No description. |
addDependency | No description. |
addResourceDesc | No description. |
applyRemovalPolicy | No description. |
fetchCondition | No description. |
fetchDependency | No description. |
fetchResourceDesc | No description. |
getAtt | No description. |
setMetadata | No description. |
toString
public java.lang.String toString()
Returns a string representation of this construct.
synthesize
public void synthesize(ISynthesisSession session)
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: com.aliyun.ros.cdk.core.ISynthesisSession
The synthesis session.
addCondition
public void addCondition(RosCondition condition)
- Type: com.aliyun.ros.cdk.core.RosCondition
addCount
public void addCount(java.lang.Number OR IResolvable count)
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
addDependency
public void addDependency(Resource resource)
- Type: com.aliyun.ros.cdk.core.Resource
addResourceDesc
public void addResourceDesc(java.lang.String desc)
- Type: java.lang.String
applyRemovalPolicy
public void applyRemovalPolicy(RemovalPolicy policy)
- Type: com.aliyun.ros.cdk.core.RemovalPolicy
fetchCondition
public RosCondition fetchCondition()
fetchDependency
public java.util.List<java.lang.String> fetchDependency()
fetchResourceDesc
public java.lang.String fetchResourceDesc()
getAtt
public IResolvable getAtt(java.lang.String name)
- Type: java.lang.String
setMetadata
public void setMetadata(java.lang.String key, java.lang.Object value)
- Type: java.lang.String
- Type: java.lang.Object
Static Functions
| Name | Description |
|---|---|
isConstruct | Return whether the given object is a Construct. |
isConstruct
import com.aliyun.ros.cdk.slb.VServerGroup;
VServerGroup.isConstruct(java.lang.Object x)
Return whether the given object is a Construct.
- Type: java.lang.Object
Properties
| Name | Type | Description |
|---|---|---|
node | com.aliyun.ros.cdk.core.ConstructNode | The construct tree node associated with this construct. |
env | com.aliyun.ros.cdk.core.IResourceEnvironment | The environment this resource belongs to. |
ref | java.lang.String | No description. |
stack | com.aliyun.ros.cdk.core.Stack | The stack in which this resource is defined. |
resource | com.aliyun.ros.cdk.core.RosResource | No description. |
attrArn | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Attribute Arn: The Alibaba Cloud Resource Name (ARN). |
attrBackendServers | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Attribute BackendServers: Backend server list in this VServerGroup. |
attrLoadBalancerId | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Attribute LoadBalancerId: The id of load balancer. |
attrVServerGroupId | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Attribute VServerGroupId: The id of VServerGroup created. |
props | VServerGroupProps | No description. |
nodeRequired
public ConstructNode getNode();
- Type: com.aliyun.ros.cdk.core.ConstructNode
The construct tree node associated with this construct.
envRequired
public IResourceEnvironment getEnv();
- Type: com.aliyun.ros.cdk.core.IResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.
refRequired
public java.lang.String getRef();
- Type: java.lang.String
stackRequired
public Stack getStack();
- Type: com.aliyun.ros.cdk.core.Stack
The stack in which this resource is defined.
resourceOptional
public RosResource getResource();
- Type: com.aliyun.ros.cdk.core.RosResource
attrArnRequired
public java.lang.Object getAttrArn();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Attribute Arn: The Alibaba Cloud Resource Name (ARN).
attrBackendServersRequired
public java.lang.Object getAttrBackendServers();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Attribute BackendServers: Backend server list in this VServerGroup.
attrLoadBalancerIdRequired
public java.lang.Object getAttrLoadBalancerId();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Attribute LoadBalancerId: The id of load balancer.
attrVServerGroupIdRequired
public java.lang.Object getAttrVServerGroupId();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Attribute VServerGroupId: The id of VServerGroup created.
propsRequired
public VServerGroupProps getProps();
- Type: VServerGroupProps