ServerGroup
- Implements: IServerGroup
This class encapsulates and extends the ROS resource type ALIYUN::ALB::ServerGroup.
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)
// .connectionDrainConfig(IResolvable)
// .connectionDrainConfig(ConnectionDrainConfigProperty)
// .crossZoneEnabled(java.lang.Boolean)
// .crossZoneEnabled(IResolvable)
// .ipv6Enabled(java.lang.Boolean)
// .ipv6Enabled(IResolvable)
// .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)
// .vpcId(java.lang.String)
// .vpcId(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. |
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. |
crossZoneEnabled | java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable | Property crossZoneEnabled: Specifies whether to enable cross-zone load balancing for the server group. |
ipv6Enabled | java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable | Property ipv6Enabled: Whether to enable IPv6. |
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. |
vpcId | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property vpcId: The ID of the VPC where the server group is created. |
scopeRequired
- Type: com.aliyun.ros.cdk.core.Construct
idRequired
- Type: java.lang.String
enableResourcePropertyConstraintOptional
- Type: java.lang.Boolean
healthCheckConfigRequired
- Type: com.aliyun.ros.cdk.core.IResolvable OR HealthCheckConfigProperty
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, start with a letter, digit, or Chinese character, and can contain digits, periods (.), underscores (_), hyphens (-), and spaces.
connectionDrainConfigOptional
- Type: 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.
crossZoneEnabledOptional
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property crossZoneEnabled: Specifies whether to enable cross-zone load balancing for the server group.
Valid values:
- true (default): Enables cross-zone load balancing.
- false: Disables cross-zone load balancing.
- Basic ALB instances cannot be associated with server groups for which cross-zone load balancing is disabled. This feature is supported only by standard and WAF-enabled ALB instances.
- You can disable cross-zone load balancing for instance-type and IP-type server groups, but not for function-type server groups.
- You cannot enable sticky sessions if you disable cross-zone load balancing.
ipv6EnabledOptional
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property ipv6Enabled: Whether to enable IPv6.
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
- Type: 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.
stickySessionConfigOptional
- Type: com.aliyun.ros.cdk.core.IResolvable OR StickySessionConfigProperty
Property stickySessionConfig: The configuration of session persistence.
Note: This parameter is required if the ServerGroupType parameter is set to Instance or Ip.
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.
uchConfigOptional
- Type: com.aliyun.ros.cdk.core.IResolvable OR UchConfigProperty
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.
vpcIdOptional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property vpcId: The ID of the VPC where the server group is created.
You can add only servers within this VPC to the server group.
This parameter is valid only when ServerGroupType is set to Instance or Ip.
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.alb.ServerGroup;
ServerGroup.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). |
attrServerGroupId | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Attribute ServerGroupId: The ID of the server group. |
props | ServerGroupProps | 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).
attrServerGroupIdRequired
public java.lang.Object getAttrServerGroupId();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Attribute ServerGroupId: The ID of the server group.
propsRequired
public ServerGroupProps getProps();
- Type: ServerGroupProps