ServerGroup
- Implements: IServerGroup
This class encapsulates and extends the ROS resource type ALIYUN::ALB::ServerGroupUse , which to create a server group.
Initializers
import ros_cdk_alb
ros_cdk_alb.ServerGroup(
scope: Construct,
id: str,
health_check_config: typing.Union[IResolvable, HealthCheckConfigProperty],
server_group_name: typing.Union[str, IResolvable],
connection_drain_config: typing.Union[IResolvable, ConnectionDrainConfigProperty] = None,
cross_zone_enabled: typing.Union[bool, IResolvable] = None,
ipv6_enabled: typing.Union[bool, IResolvable] = None,
protocol: typing.Union[str, IResolvable] = None,
resource_group_id: typing.Union[str, IResolvable] = None,
scheduler: typing.Union[str, IResolvable] = None,
server_group_type: typing.Union[str, IResolvable] = None,
service_name: typing.Union[str, IResolvable] = None,
slow_start_config: typing.Union[IResolvable, SlowStartConfigProperty] = None,
sticky_session_config: typing.Union[IResolvable, StickySessionConfigProperty] = None,
tags: typing.List[TagsProperty] = None,
uch_config: typing.Union[IResolvable, UchConfigProperty] = None,
upstream_keepalive_enabled: typing.Union[bool, IResolvable] = None,
vpc_id: typing.Union[str, IResolvable] = None,
enable_resource_property_constraint: bool = None
)
| Name | Type | Description |
|---|---|---|
scope | ros_cdk_core.Construct | No description. |
id | str | No description. |
health_check_config | typing.Union[ros_cdk_core.IResolvable, HealthCheckConfigProperty] | Property healthCheckConfig: The configuration of health checks. |
server_group_name | typing.Union[str, ros_cdk_core.IResolvable] | Property serverGroupName: The name of the server group. |
connection_drain_config | typing.Union[ros_cdk_core.IResolvable, 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. |
cross_zone_enabled | typing.Union[bool, ros_cdk_core.IResolvable] | Property crossZoneEnabled: Specifies whether to enable cross-zone load balancing. |
ipv6_enabled | typing.Union[bool, ros_cdk_core.IResolvable] | Property ipv6Enabled: Whether to enable IPv6. |
protocol | typing.Union[str, ros_cdk_core.IResolvable] | Property protocol: The backend protocol. |
resource_group_id | typing.Union[str, ros_cdk_core.IResolvable] | Property resourceGroupId: The ID of the resource group. |
scheduler | typing.Union[str, ros_cdk_core.IResolvable] | Property scheduler: The scheduling algorithm. |
server_group_type | typing.Union[str, ros_cdk_core.IResolvable] | Property serverGroupType: The type of the server group. |
service_name | typing.Union[str, ros_cdk_core.IResolvable] | Property serviceName: This parameter is available only if the ALB Ingress controller is used. |
slow_start_config | typing.Union[ros_cdk_core.IResolvable, 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. |
sticky_session_config | typing.Union[ros_cdk_core.IResolvable, StickySessionConfigProperty] | Property stickySessionConfig: The configuration of session persistence. |
tags | typing.List[TagsProperty] | Property tags: Tags to attach to instance. |
uch_config | typing.Union[ros_cdk_core.IResolvable, UchConfigProperty] | Property uchConfig: URL consistency hash parameter configuration. |
upstream_keepalive_enabled | typing.Union[bool, ros_cdk_core.IResolvable] | Property upstreamKeepaliveEnabled: Whether to enable upstream keepalive. |
vpc_id | typing.Union[str, ros_cdk_core.IResolvable] | Property vpcId: The ID of the virtual private cloud (VPC). |
enable_resource_property_constraint | bool | No description. |
scopeRequired
- Type: ros_cdk_core.Construct
idRequired
- Type: str
health_check_configRequired
- Type: typing.Union[ros_cdk_core.IResolvable, HealthCheckConfigProperty]
Property healthCheckConfig: The configuration of health checks.
server_group_nameRequired
- Type: typing.Union[str, 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.
connection_drain_configOptional
- Type: typing.Union[ros_cdk_core.IResolvable, 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.
cross_zone_enabledOptional
- Type: typing.Union[bool, ros_cdk_core.IResolvable]
Property crossZoneEnabled: Specifies whether to enable cross-zone load balancing.
Valid values: true (default) false Note: Basic ALB instances do not support server groups that have cross-zone load balancing disabled. Only Standard and WAF-enabled ALB instances support server groups that have cross-zone load balancing. Cross-zone load balancing can be disabled for server groups of the server and IP type, but not for server groups of the Function Compute type. When cross-zone load balancing is disabled, session persistence cannot be enabled.
ipv6_enabledOptional
- Type: typing.Union[bool, ros_cdk_core.IResolvable]
Property ipv6Enabled: Whether to enable IPv6.
protocolOptional
- Type: typing.Union[str, 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.
resource_group_idOptional
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property resourceGroupId: The ID of the resource group.
schedulerOptional
- Type: typing.Union[str, 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.
server_group_typeOptional
- Type: typing.Union[str, 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.
service_nameOptional
- Type: typing.Union[str, 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.
slow_start_configOptional
- Type: typing.Union[ros_cdk_core.IResolvable, 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.
sticky_session_configOptional
- Type: typing.Union[ros_cdk_core.IResolvable, 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: typing.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.
uch_configOptional
- Type: typing.Union[ros_cdk_core.IResolvable, UchConfigProperty]
Property uchConfig: URL consistency hash parameter configuration.
upstream_keepalive_enabledOptional
- Type: typing.Union[bool, ros_cdk_core.IResolvable]
Property upstreamKeepaliveEnabled: Whether to enable upstream keepalive.
vpc_idOptional
- Type: typing.Union[str, 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.
enable_resource_property_constraintOptional
- Type: bool
Methods
| Name | Description |
|---|---|
to_string | Returns a string representation of this construct. |
synthesize | Allows this construct to emit artifacts into the cloud assembly during synthesis. |
add_condition | No description. |
add_count | No description. |
add_dependency | No description. |
add_resource_desc | No description. |
apply_removal_policy | No description. |
fetch_condition | No description. |
fetch_dependency | No description. |
fetch_resource_desc | No description. |
get_att | No description. |
set_metadata | No description. |
to_string
def to_string() -> str
Returns a string representation of this construct.
synthesize
def synthesize(
session: ISynthesisSession
) -> None
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: ros_cdk_core.ISynthesisSession
The synthesis session.
add_condition
def add_condition(
condition: RosCondition
) -> None
- Type: ros_cdk_core.RosCondition
add_count
def add_count(
count: typing.Union[typing.Union[int, float], IResolvable]
) -> None
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
add_dependency
def add_dependency(
resource: Resource
) -> None
- Type: ros_cdk_core.Resource
add_resource_desc
def add_resource_desc(
desc: str
) -> None
- Type: str
apply_removal_policy
def apply_removal_policy(
policy: RemovalPolicy
) -> None
- Type: ros_cdk_core.RemovalPolicy
fetch_condition
def fetch_condition() -> RosCondition
fetch_dependency
def fetch_dependency() -> typing.List[str]
fetch_resource_desc
def fetch_resource_desc() -> str
get_att
def get_att(
name: str
) -> IResolvable
- Type: str
set_metadata
def set_metadata(
key: str,
value: typing.Any
) -> None
- Type: str
- Type: typing.Any
Static Functions
| Name | Description |
|---|---|
is_construct | Return whether the given object is a Construct. |
is_construct
import ros_cdk_alb
ros_cdk_alb.ServerGroup.is_construct(
x: typing.Any
)
Return whether the given object is a Construct.
- Type: typing.Any
Properties
| Name | Type | Description |
|---|---|---|
node | ros_cdk_core.ConstructNode | The construct tree node associated with this construct. |
env | ros_cdk_core.IResourceEnvironment | The environment this resource belongs to. |
ref | str | No description. |
stack | ros_cdk_core.Stack | The stack in which this resource is defined. |
resource | ros_cdk_core.RosResource | No description. |
attr_arn | typing.Union[str, ros_cdk_core.IResolvable] | Attribute Arn: The Alibaba Cloud Resource Name (ARN). |
attr_server_group_id | typing.Union[str, ros_cdk_core.IResolvable] | Attribute ServerGroupId: The ID of the server group. |
props | ServerGroupProps | No description. |
nodeRequired
node: ConstructNode
- Type: ros_cdk_core.ConstructNode
The construct tree node associated with this construct.
envRequired
env: IResourceEnvironment
- Type: 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
ref: str
- Type: str
stackRequired
stack: Stack
- Type: ros_cdk_core.Stack
The stack in which this resource is defined.
resourceOptional
resource: RosResource
- Type: ros_cdk_core.RosResource
attr_arnRequired
attr_arn: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Attribute Arn: The Alibaba Cloud Resource Name (ARN).
attr_server_group_idRequired
attr_server_group_id: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Attribute ServerGroupId: The ID of the server group.
propsRequired
props: ServerGroupProps
- Type: ServerGroupProps