WebRule
This class encapsulates and extends the ROS resource type ALIYUN::DDoSPro::WebRule
, which is used to create a forwarding rule for a website.
Initializers
import com.aliyun.ros.cdk.ddospro.WebRule;
WebRule.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
.domain(java.lang.String)
.domain(IResolvable)
.rsType(java.lang.Number)
.rsType(IResolvable)
.rules(java.lang.String)
.rules(IResolvable)
// .defenseId(java.lang.String)
// .defenseId(IResolvable)
// .httpsExt(java.lang.String)
// .httpsExt(IResolvable)
// .instanceIds(IResolvable)
// .instanceIds(java.util.List<java.lang.String)
// .instanceIds(IResolvable>)
// .resourceGroupId(java.lang.String)
// .resourceGroupId(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. |
domain |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property domain: The domain name of the website that you want to add to the instance. |
rsType |
java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable |
Property rsType: The address type of the origin server. |
rules |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property rules: The details of the forwarding rule. |
defenseId |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property defenseId: The ID of the associated defense. |
httpsExt |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property httpsExt: The advanced HTTPS settings. |
instanceIds |
com.aliyun.ros.cdk.core.IResolvable OR java.util.List |
Property instanceIds: An array consisting of the IDs of instances that you want to associate. |
resourceGroupId |
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable |
Property resourceGroupId: The ID of the resource group to which the instance belongs in Resource Management. |
scope
Required
- Type: com.aliyun.ros.cdk.core.Construct
id
Required
- Type: java.lang.String
enableResourcePropertyConstraint
Optional
- Type: java.lang.Boolean
domain
Required
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property domain: The domain name of the website that you want to add to the instance.
rsType
Required
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property rsType: The address type of the origin server.
Valid values: 0: IP address 1: domain name The domain name of the origin server is returned if you deploy proxies, such as Web Application Firewall (WAF), between the origin server and the instance. In this case, the address of the proxy, such as the CNAME provided by WAF, is returned.
rules
Required
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property rules: The details of the forwarding rule.
The value is a string that consists of JSON arrays. Each element in a JSON array is a JSON struct that contains the following fields: ProxyRules: the information about the origin server. The information includes the port number and IP address. This field is required and must be a JSON array. Each element in a JSON array is a JSON struct that contains the following fields: ProxyPort: the port number. This field is required and must be an integer; RealServers: the IP address. This field is required and must be a string array. ProxyType: the protocol type. This field is required and must be a string. Valid values: http, https, websocket, and websockets.
defenseId
Optional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property defenseId: The ID of the associated defense.
This parameter applies to scenarios in which other cloud services, such as Object Storage Service (OSS), are integrated with Anti-DDoS Pro or Anti-DDoS Premium.
httpsExt
Optional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property httpsExt: The advanced HTTPS settings.
This parameter takes effect only when the value of the ProxyType parameter includes https. The value is a string that consists of a JSON struct. The JSON struct contains the following fields: Http2https: specifies whether to turn on Enforce HTTPS Routing. This field is optional and must be an integer. Valid values: 0 and 1. The value 0 indicates that Enforce HTTPS Routing is turned off. The value 1 indicates that Enforce HTTPS Routing is turned on. The default value is 0. If your website supports both HTTP and HTTPS, this feature meets your business requirements. If you enable this feature, all HTTP requests to access the website are redirected to HTTPS requests on the standard port 443. Https2http: specifies whether to turn on Enable HTTP. This field is optional and must be an integer. Valid values: 0 and 1. The value 0 indicates that Enable HTTP is turned off. The value 1 indicates that Enable HTTP is turned on. The default value is 0. If your website does not support HTTPS, this feature meets your business requirements If this feature is enabled, all HTTPS requests are redirected to HTTP requests and forwarded to origin servers. This feature can redirect WebSockets requests to WebSocket requests. Requests are redirected over the standard port 80. Http2: specifies whether to turn on Enable HTTP/2. This field is optional and must be an integer. Valid values: 0 and 1. The value 0 indicates that Enable HTTP/2 is turned off. The value 1 indicates that Enable HTTP/2 is turned on. The default value is 0. After you turn on Enable HTTP/2, the protocol type is HTTP/2.
instanceIds
Optional
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
Property instanceIds: An array consisting of the IDs of instances that you want to associate.
resourceGroupId
Optional
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property resourceGroupId: The ID of the resource group to which the instance belongs in Resource Management.
This parameter is empty by default, which indicates that the instance belongs to the default resource group.
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.
- 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
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.ddospro.WebRule;
WebRule.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. |
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. |
attrDomain |
com.aliyun.ros.cdk.core.IResolvable |
Attribute Domain: The domain name of the website that you want to add to the instance. |
node
Required
public ConstructNode getNode();
- Type: com.aliyun.ros.cdk.core.ConstructNode
The construct tree node associated with this construct.
ref
Required
public java.lang.String getRef();
- Type: java.lang.String
stack
Required
public Stack getStack();
- Type: com.aliyun.ros.cdk.core.Stack
The stack in which this resource is defined.
resource
Optional
public RosResource getResource();
- Type: com.aliyun.ros.cdk.core.RosResource
attrDomain
Required
public IResolvable getAttrDomain();
- Type: com.aliyun.ros.cdk.core.IResolvable
Attribute Domain: The domain name of the website that you want to add to the instance.