Skip to content

ServerGroup

This class encapsulates and extends the ROS resource type ALIYUN::ALB::ServerGroup, which is used to create a server group.

Initializers

import com.aliyun.ros.cdk.alb.ServerGroup;
ServerGroup.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
    .healthCheckConfig(IResolvable)
    .healthCheckConfig(HealthCheckConfigProperty)
    .serverGroupName(java.lang.String)
    .serverGroupName(IResolvable)
    .vpcId(java.lang.String)
    .vpcId(IResolvable)
//  .connectionDrainConfig(IResolvable)
//  .connectionDrainConfig(ConnectionDrainConfigProperty)
//  .protocol(java.lang.String)
//  .protocol(IResolvable)
//  .resourceGroupId(java.lang.String)
//  .resourceGroupId(IResolvable)
//  .scheduler(java.lang.String)
//  .scheduler(IResolvable)
//  .serverGroupType(java.lang.String)
//  .serverGroupType(IResolvable)
//  .serviceName(java.lang.String)
//  .serviceName(IResolvable)
//  .slowStartConfig(IResolvable)
//  .slowStartConfig(SlowStartConfigProperty)
//  .stickySessionConfig(IResolvable)
//  .stickySessionConfig(StickySessionConfigProperty)
//  .tags(java.util.List<TagsProperty>)
//  .uchConfig(IResolvable)
//  .uchConfig(UchConfigProperty)
//  .upstreamKeepaliveEnabled(java.lang.Boolean)
//  .upstreamKeepaliveEnabled(IResolvable)
    .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.
healthCheckConfig com.aliyun.ros.cdk.core.IResolvable OR HealthCheckConfigProperty Property healthCheckConfig: The configuration of health checks.
serverGroupName java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property serverGroupName: The name of the server group.
vpcId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property vpcId: The ID of the virtual private cloud (VPC).
connectionDrainConfig com.aliyun.ros.cdk.core.IResolvable OR ConnectionDrainConfigProperty Property connectionDrainConfig: Configuration related to graceful connection interruption.Enable graceful connection interruption. After the backend server is removed or the health check fails, the load balancing allows the existing connection to be transmitted normally within a certain period of time.Note: Basic Edition instances do not support enabling graceful connection interruption. Only Standard Edition and WAF Enhanced Edition instances support it.Server type and IP type server group support graceful connection interruption. Function Compute type does not support it.
protocol java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property protocol: The backend protocol.
resourceGroupId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property resourceGroupId: The ID of the resource group.
scheduler java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property scheduler: The scheduling algorithm.
serverGroupType java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property serverGroupType: The type of the server group.
serviceName java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property serviceName: This parameter is available only if the ALB Ingress controller is used.
slowStartConfig com.aliyun.ros.cdk.core.IResolvable OR SlowStartConfigProperty Property slowStartConfig: Slow start related configuration.After slow start is enabled, the backend server newly added to the backend server group will be preheated within the set time period, and the number of requests forwarded to the server will increase linearly.Note: Basic Edition instances do not support slow start, only Standard Edition and WAF Enhanced Edition instances support it.Server type and IP type server groups support slow start configuration, but Function Compute type does not.Slow start can only be enabled when the backend scheduling algorithm is the weighted polling algorithm.
stickySessionConfig com.aliyun.ros.cdk.core.IResolvable OR StickySessionConfigProperty Property stickySessionConfig: The configuration of session persistence.
tags java.util.List<TagsProperty> Property tags: Tags to attach to instance.
uchConfig com.aliyun.ros.cdk.core.IResolvable OR UchConfigProperty Property uchConfig: URL consistency hash parameter configuration.
upstreamKeepaliveEnabled java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property upstreamKeepaliveEnabled: Whether to enable upstream keepalive.

scopeRequired

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

idRequired

  • Type: java.lang.String

enableResourcePropertyConstraintOptional

  • Type: java.lang.Boolean

healthCheckConfigRequired

Property healthCheckConfig: The configuration of health checks.


serverGroupNameRequired

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

Property serverGroupName: The name of the server group.

The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-). The name must start with a letter.


vpcIdRequired

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

Property vpcId: The ID of the virtual private cloud (VPC).

You can add only servers that are deployed in the specified VPC to the server group. Note: This parameter is required if the ServerGroupType parameter is set to Instance or Ip. Note: This parameter takes effect when the ServerGroupType parameter is set to Instance or Ip.


connectionDrainConfigOptional

Property connectionDrainConfig: Configuration related to graceful connection interruption.Enable graceful connection interruption. After the backend server is removed or the health check fails, the load balancing allows the existing connection to be transmitted normally within a certain period of time.Note: Basic Edition instances do not support enabling graceful connection interruption. Only Standard Edition and WAF Enhanced Edition instances support it.Server type and IP type server group support graceful connection interruption. Function Compute type does not support it.


protocolOptional

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

Property protocol: The backend protocol.

Valid values: HTTP (default): The server group can be associated with HTTPS, HTTP, and QUIC listeners. HTTPS: The server group can be associated with HTTPS listeners. gRPC: The server group can be associated with HTTPS and QUIC listeners. Note: If the ServerGroupType parameter is set to Fc, you can set Protocol only to HTTP.


resourceGroupIdOptional

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

Property resourceGroupId: The ID of the resource group.


schedulerOptional

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

Property scheduler: The scheduling algorithm.

Valid values: Wrr (default): The weighted round-robin algorithm is used. Backend servers that have higher weights receive more requests than those that have lower weights. Wlc: The weighted least connections algorithm is used. Requests are distributed based on the weights and the number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections is expected to receive more requests. Sch: The consistent hashing algorithm is used. Requests from the same source IP address are distributed to the same backend server. Note: This parameter takes effect when the ServerGroupType parameter is set to Instance or Ip.


serverGroupTypeOptional

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

Property serverGroupType: The type of the server group.

Valid values: Instance (default): allows you add servers by specifying Ecs, Ens, or Eci. Ip: allows you to add servers by specifying IP addresses. Fc: allows you to add servers by specifying functions of Function Compute.


serviceNameOptional

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

Property serviceName: This parameter is available only if the ALB Ingress controller is used.

In this case, set the parameter to the name of the Kubernetes Service that is associated with the server group.


slowStartConfigOptional

Property slowStartConfig: Slow start related configuration.After slow start is enabled, the backend server newly added to the backend server group will be preheated within the set time period, and the number of requests forwarded to the server will increase linearly.Note: Basic Edition instances do not support slow start, only Standard Edition and WAF Enhanced Edition instances support it.Server type and IP type server groups support slow start configuration, but Function Compute type does not.Slow start can only be enabled when the backend scheduling algorithm is the weighted polling algorithm.


stickySessionConfigOptional

Property stickySessionConfig: The configuration of session persistence.

Note: This parameter is required if the ServerGroupType parameter is set to Instance or Ip.


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.


uchConfigOptional

Property uchConfig: URL consistency hash parameter configuration.


upstreamKeepaliveEnabledOptional

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

Property upstreamKeepaliveEnabled: Whether to enable upstream keepalive.


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

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.alb.ServerGroup;
ServerGroup.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.
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.
attrServerGroupId com.aliyun.ros.cdk.core.IResolvable Attribute ServerGroupId: The ID of the server group.

nodeRequired

public ConstructNode getNode();
  • Type: com.aliyun.ros.cdk.core.ConstructNode

The construct tree node associated with this construct.


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

attrServerGroupIdRequired

public IResolvable getAttrServerGroupId();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute ServerGroupId: The ID of the server group.


Structs