CreateFirewallRuleSet

API Request

URLs
POST zstack/v1/vpcfirewalls/ruleSets
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "name",
    "actionType": "drop",
    "description": "example-des"
  },
  "systemTags": [],
  "userTags": []
}
Note: In the preceding sample, both systemTags and userTags are optional. These two fields can be included in the body structure.
Curl Sample
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"name","vpcFirewallUuid":"e9a77f42bdbb3b5692012c6007a5893a","actionType":"drop","description":"example-des"}}' http://localhost:8080/zstack/v1/vpcfirewalls/ruleSets
Request Parameters
Name Type Location Description Optional Value Starting Version
name String body (contained in the params structure) The ruleset name. 3.6.0
actionType String body (contained in the params structure) Optional. The action taken against data packets.
  • drop
  • accept
  • reject
3.6.0
description String body (contained in the params structure) Optional. The detailed description of the ruleset. 3.6.0
resourceUuid String body (contained in the params structure) Optional. The ruleset UUID. 3.6.0
tagUuids List body (contained in the params structure) Optional. The tag UUIDs. 3.6.0
systemTags List body Optional. The system tags. 3.6.0
userTags List body Optional. The user tags. 3.6.0

API Response

Sample Response
{
  "inventory": {
    "name": "name",
    "actionType": "drop",
    "description": "example-des",
    "enableDefaultLog": false,
    "isDefault": false,
    "isApplied": true
  }
}
Name Type Description Starting Version
error ErrorCode The error code. If not null, the operation fails, or vice versa. For more information, see error. 3.6.0
inventory VpcFirewallRuleSetInventory See inventory. 3.6.0
#error
Name Type Description Starting Version
code String The error code, which is a numbered or alphanumeric code that specifies an error. For example, SYS.1000, HOST.1001. 3.6.0
description String The brief description of the error. 3.6.0
details String The details about the error. 3.6.0
elaboration String The reserved field. Default value: null. 3.6.0
opaque LinkedHashMap The reserved field. Default value: null. 3.6.0
cause ErrorCode The root error, which is the associated root cause of the current error. If no root error exists, this parameter is null. 3.6.0
#inventory
Name Type Description Starting Version
uuid String The resource UUID. 3.6.0
name String The resource name. 3.6.0
description String The detailed description of the resource. 3.6.0
isDefault boolean 3.6.0
isApplied boolean Indicates whether the ruleset is applied. 4.0.0
createDate Timestamp The creation date. 3.6.0
lastOpDate Timestamp The last operation date. 3.6.0
actionType ActionType See actionType. 3.6.0
rules List See rules. 3.6.0
#actionType
Name Type Description Starting Version
drop ActionType 3.6.0
reject ActionType 3.6.0
accept ActionType 3.6.0
#rules
Name Type Description Starting Version
uuid String The firewall rule UUID. 3.6.0
ruleSetUuid String The ruleset UUID. 3.6.0
destPort String The destination port. 3.6.0
sourcePort String The source port. 3.6.0
sourceIp String The source IP address. 3.6.0
destIp String The destination IP address. 3.6.0
ruleNumber Integer The priority of the rule. 3.6.0
allowStates String The allow status of data packets. 3.6.0
tcpFlag String The TCP flag. 3.6.0
icmpTypeName String The ICMP type. 3.6.0
isApplied boolean Indicates whether the rule is applied. 4.0.0
expired boolean Indicates whether the rule is expired. 4.0.0
isDefault boolean Indicates whether the rule is a system rule. 3.6.0
description String The detailed description of the rule. 3.6.0
createDate Timestamp The time when the rule was created. 3.6.0
lastOpDate Timestamp The time when the rule was last modified. 3.6.0
action ActionType See action. 3.6.0
protocol ProtocolType See protocol. 3.6.0
state FirewallRuleState See state. 3.6.0
#action
Name Type Description Starting Version
drop ActionType 3.6.0
reject ActionType 3.6.0
accept ActionType 3.6.0
#protocol
Name Type Description Starting Version
tcp_udp ProtocolType 3.6.0
all ProtocolType 3.6.0
ah ProtocolType 3.6.0
ax.25 ProtocolType 3.6.0
dccp ProtocolType 3.6.0
ddp ProtocolType 3.6.0
egp ProtocolType 3.6.0
eigrp ProtocolType 3.6.0
encap ProtocolType 3.6.0
esp ProtocolType 3.6.0
etherip ProtocolType 3.6.0
fc ProtocolType 3.6.0
ggp ProtocolType 3.6.0
gre ProtocolType 3.6.0
hip ProtocolType 3.6.0
hmp ProtocolType 3.6.0
icmp ProtocolType 3.6.0
ipdr-cmtp ProtocolType 3.6.0
idpr ProtocolType 3.6.0
igmp ProtocolType 3.6.0
igp ProtocolType 3.6.0
ip ProtocolType 3.6.0
ipcomp ProtocolType 3.6.0
ipencap ProtocolType 3.6.0
ipip ProtocolType 3.6.0
isis ProtocolType 3.6.0
iso-tp4 ProtocolType 3.6.0
l2tp ProtocolType 3.6.0
manet ProtocolType 3.6.0
mpls-in-ip ProtocolType 3.6.0
ospf ProtocolType 3.6.0
pim ProtocolType 3.6.0
pup ProtocolType 3.6.0
rdp ProtocolType 3.6.0
rohc ProtocolType 3.6.0
rspf ProtocolType 3.6.0
rsvp ProtocolType 3.6.0
sctp ProtocolType 3.6.0
skip ProtocolType 3.6.0
st ProtocolType 3.6.0
tcp ProtocolType 3.6.0
udp ProtocolType 3.6.0
udplite ProtocolType 3.6.0
vmtp ProtocolType 3.6.0
vrrp ProtocolType 3.6.0
wesp ProtocolType 3.6.0
xns-idp ProtocolType 3.6.0
xtp ProtocolType 3.6.0
#state
Name Type Description Starting Version
disable FirewallRuleState 3.6.0
enable FirewallRuleState 3.6.0

SDK Sample

Java SDK
CreateFirewallRuleSetAction action = new CreateFirewallRuleSetAction();
action.name = "name";
action.vpcFirewallUuid = "e9a77f42bdbb3b5692012c6007a5893a";
action.actionType = "drop";
action.description = "example-des";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateFirewallRuleSetAction.Result res = action.call();
Python SDK
CreateFirewallRuleSetAction action = CreateFirewallRuleSetAction()
action.name = "name"
action.vpcFirewallUuid = "e9a77f42bdbb3b5692012c6007a5893a"
action.actionType = "drop"
action.description = "example-des"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateFirewallRuleSetAction.Result res = action.call()