CreateSecurityGroup

API Request

URLs
POST zstack/v1/security-groups
Headers
Authorization: OAuth the-session-uuid
Body
{
"params": {
"name": "sp",
"description": "test create security group"
  },
"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":"sp","description":"test create security group"}}' \
http://localhost:8080/zstack/v1/security-groups
Request Parameters
Name Type Location Description Optional Value Starting Version
name String body (contained in the params structure) The resource name. 0.6
description String body (contained in the params structure) Optional. The detailed description of the resource. 0.6
ipVersion Integer body (contained in the params structure) Optional. The IP version.
  • 4
  • 6
3.1.0
resourceUuid String body (contained in the params structure) Optional. The resource UUID. If specified, the system will not allocate randomly a UUID to the resource. 0.6
systemTags List body Optional. The system tags. 0.6
userTags List body Optional. The user tags. 0.6

API Response

Sample Response
{
"inventory": {
"uuid": "7bb070cdebf44fd8af354f25344d758b",
"name": "web",
"description": "for test",
"state": "Enabled",
"createDate": "Jun 7, 2017 9:21:20 PM",
"lastOpDate": "Jun 7, 2017 9:21:20 PM",
"internalId": 0.0
  }
}
Name Type Description Starting Version
error ErrorCode The error code. If not null, the operation fails, or vice versa. For more information, see error. 0.6
inventory SecurityGroupInventory See inventory. 0.6
#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. 0.6
description String The brief description of the error. 0.6
details String The details about the error. 0.6
elaboration String The reserved field. Default value: null. 0.6
opaque LinkedHashMap The reserved field. Default value: null. 0.6
cause ErrorCode The root error, which is the associated root cause of the current error. If no root error exists, this parameter is null. 0.6
#inventory
Name Type Description Starting Version
uuid String The resource UUID. 0.6
name String The resource name. 0.6
description String The detailed description of the resource. 0.6
state String 0.6
ipVersion Integer The IP version. 3.1.0
createDate Timestamp The creation date. 0.6
lastOpDate Timestamp The last operation date. 0.6
attachedL3NetworkUuids Set 0.6
rules List See rules. 0.6
#rules
Name Type Description Starting Version
uuid String The resource UUID. 0.6
securityGroupUuid String The security group UUID. 0.6
type String The traffic type. 0.6
ipVersion Integer The IP version. 3.1.0
startPort Integer
  • If the protocol is TCP or UDP, this parameter is the start port of the port range.
  • If the protocol is ICMP, this parameter is the ICMP type.
0.6
endPort Integer
  • If the protocol is TCP or UDP, this parameter is the end port of the port range.
  • If the protocol is ICMP, this parameter is the ICMP type.
0.6
protocol String The traffic protocol type. 0.6
state String The rule state, which is not implemented in the current version. 0.6
allowedCidr String
  • The allowed CIDR, which has different meanings according to different traffic types.
  • If the traffic type is Ingress, the allowed CIDR is a source CIDR that is allowed to access VM NICs.
  • If the traffic type is Egress, the allowed CIDR is a destination CIDR that is allowed to leave from VM NICs.
0.6
remoteSecurityGroupUuid String 0.6
createDate Timestamp The creation date. 0.6
lastOpDate Timestamp The last operation date. 0.6

SDK Sample

Java SDK
CreateSecurityGroupAction action = new CreateSecurityGroupAction();
action.name = "sp";
action.description = "test create security group";
action.sessionId = "b5032c14210c4668a3a2bcd341d80bbf";
CreateSecurityGroupAction.Result res = action.call();
Python SDK
CreateSecurityGroupAction action = CreateSecurityGroupAction()
action.name = "sp"
action.description = "test create security group"
action.sessionId = "e34f8139af4548d5ade539ca2a5d7983"
CreateSecurityGroupAction.Result res = action.call()