Skip to content

VServerGroup

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

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

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.

sessionRequired

  • Type: com.aliyun.ros.cdk.core.ISynthesisSession

The synthesis session.


addCondition

public void addCondition(RosCondition condition)

conditionRequired

  • Type: com.aliyun.ros.cdk.core.RosCondition

addCount

public void addCount(java.lang.Number OR IResolvable count)

countRequired

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

addDependency

public void addDependency(Resource resource)

resourceRequired

  • Type: com.aliyun.ros.cdk.core.Resource

addResourceDesc

public void addResourceDesc(java.lang.String desc)

descRequired

  • Type: java.lang.String

applyRemovalPolicy

public void applyRemovalPolicy(RemovalPolicy policy)

policyRequired

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

nameRequired

  • Type: java.lang.String

setMetadata

public void setMetadata(java.lang.String key, java.lang.Object value)

keyRequired

  • Type: java.lang.String

valueRequired

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

xRequired

  • 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();